在server.xml文件中找到
<!-- Tomcat Root Context -->
在这下面加就行了

解决方案 »

  1.   

    问题解决没
    是不是与你的tomcat版本有关系阿
    不同的版本配置有些不同的
    你可以去网上搜一下
    不过我也遇到类似的问题
    我用的是access数据库,也造成tomcat不能启动
    不过要先问一下,对access数据库能否在tomcat下配置数据库连接池呢?
    翻了很多书,也在网上查了很多都没有看到用access数据库连接池的例子
      

  2.   

    1、先配置server.xml
    把下面的配置文档放到了  </HOST> 的前面<Context path="/booklend" reloadable="true" docBase="D:\booklend\webapp" workDir="D:\booklend\work" >
    <Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="1"/><Resource name="jdbc/myoracle" auth="Container"
                  type="javax.sql.DataSource"/> <ResourceParams name="jdbc/myoracle">
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>oracle.jdbc.driver.OracleDriver</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:oracle:thin:@192.168.10.1:1521:RJZXORA</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>hasi</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>hasi</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>-1</value>
      </parameter>
    </ResourceParams>
    </Context>
    2、配置D:\booklend\webapp\WEB-INF\web.xml文件,内容如下:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!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>    <display-name>book lend servlet</display-name>
        <description>
          book lend servlet
        </description>
     <resource-ref>
     <description>Oracle Datasource example</description>
     <res-ref-name>jdbc/myoracle</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    3、把classes12.jar放到D:\booklend\webapp\WEB-INF\lib  目录下,(也在TOMCAT的common\lib下放过)
       并加到classpath里了(D:\booklend\webapp\WEB-INF\lib\classes12.jar)
    4、建立一个jsp文件 (D:\booklend\webapp\test\show.jsp)
       文件内容如下:
    <%@ page import="javax.naming.Context" %>
    <%@ page import="javax.sql.DataSource,java.util.*"%>
    <%@ page import="javax.naming.InitialContext"%>
    <%@ page import="java.sql.*"%>
    <%
    DataSource ds = null;
    Connection con=null;
    try{
    Context ctx = new InitialContext();
    ds = (DataSource)ctx.lookup("java:comp/env/jdbc/myoracle");
    Hashtable t=ctx.getEnvironment();
    out.print("<BR>ctx.getEnvironment() = "+t);
    out.print("<BR>ds = "+ds);
    if(ds!=null){
    try {
    con = ds.getConnection();
    if(con!=null){
    DatabaseMetaData dbmeta=con.getMetaData() ;
    out.print("<br><b>数据库产品:</b>"+dbmeta.getDatabaseProductName());
    out.print("<br><b>数据库版本:</b>"+dbmeta.getDatabaseProductVersion());
    out.print("<br><b>用户名:</b>"+dbmeta.getUserName());
    out.print("<br><b>测试 连接池 连接成功 ! 连接程序无误。测试完成</b>"); 
    try{con.close();}catch(Exception e){}
    }
    else
    out.print("<br><b>连接失败2:</b>不明原因 !");
    }catch(Exception e){out.print("<br>ERR=="+e);}
    }
    else
    out.println("Fail!");
    }catch(Exception ne){ out.println(ne);}
    %>
      

  3.   

    1、先配置server.xml
    把下面的配置文档放到了  </HOST> 的前面<Context path="/booklend" reloadable="true" docBase="D:\booklend\webapp" workDir="D:\booklend\work" >
    <Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="1"/><Resource name="jdbc/myoracle" auth="Container"
                  type="javax.sql.DataSource"/> <ResourceParams name="jdbc/myoracle">
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>oracle.jdbc.driver.OracleDriver</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:oracle:thin:@192.168.10.1:1521:RJZXORA</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>hasi</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>hasi</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>-1</value>
      </parameter>
    </ResourceParams>
    </Context>
    2、配置D:\booklend\webapp\WEB-INF\web.xml文件,内容如下:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!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>    <display-name>book lend servlet</display-name>
        <description>
          book lend servlet
        </description>
     <resource-ref>
     <description>Oracle Datasource example</description>
     <res-ref-name>jdbc/myoracle</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    3、把classes12.jar放到D:\booklend\webapp\WEB-INF\lib  目录下,(也在TOMCAT的common\lib下放过)
       并加到classpath里了(D:\booklend\webapp\WEB-INF\lib\classes12.jar)
    4、建立一个jsp文件 (D:\booklend\webapp\test\show.jsp)
       文件内容如下:
    <%@ page import="javax.naming.Context" %>
    <%@ page import="javax.sql.DataSource,java.util.*"%>
    <%@ page import="javax.naming.InitialContext"%>
    <%@ page import="java.sql.*"%>
    <%
    DataSource ds = null;
    Connection con=null;
    try{
    Context ctx = new InitialContext();
    ds = (DataSource)ctx.lookup("java:comp/env/jdbc/myoracle");
    Hashtable t=ctx.getEnvironment();
    out.print("<BR>ctx.getEnvironment() = "+t);
    out.print("<BR>ds = "+ds);
    if(ds!=null){
    try {
    con = ds.getConnection();
    if(con!=null){
    DatabaseMetaData dbmeta=con.getMetaData() ;
    out.print("<br><b>数据库产品:</b>"+dbmeta.getDatabaseProductName());
    out.print("<br><b>数据库版本:</b>"+dbmeta.getDatabaseProductVersion());
    out.print("<br><b>用户名:</b>"+dbmeta.getUserName());
    out.print("<br><b>测试 连接池 连接成功 ! 连接程序无误。测试完成</b>"); 
    try{con.close();}catch(Exception e){}
    }
    else
    out.print("<br><b>连接失败2:</b>不明原因 !");
    }catch(Exception e){out.print("<br>ERR=="+e);}
    }
    else
    out.println("Fail!");
    }catch(Exception ne){ out.println(ne);}
    %>
      

  4.   

    成了,原来我在server.xml中加了一行注释,注释内容是中文的,我换成英文就行了。