通过ADMIN目录访问,不是可以进行图形化设置自带的连接池吗?

解决方案 »

  1.   

    你可以在TOMCAT的ADMINSTRATRO CONSOLE里设置连接池.这种图形化的界央面不容易出错.而且又方便.
      

  2.   

    通过  admin 配置稍微有点问题
      

  3.   

    admin的package在哪有下载呀?我在网上没找到~~我已经在网上查了好多资料了,但还是不能解决问题~~
      

  4.   

    在$tomcat$/conn/Catalina/localhost中新建DATASOURCE.xml
    内容如下:
    <Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource"/> 
    <ResourceParams name="jdbc/oracle">
        <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.0.111:1521:jinhui</value>
        </parameter>
        <parameter>
           <name>username</name>
           <value>ynxjxxsj</value>
        </parameter>
        <parameter>
           <name>password</name>
           <value>xxsj_jinhui</value>
        </parameter>
        <parameter>
           <name>maxActive</name>
           <value>50</value>
        </parameter>
        <parameter>
           <name>maxIdle</name>
           <value>50</value>
        </parameter>
        <parameter>
           <name>maxWait</name>
          <value>10000</value>
        </parameter>
     </ResourceParams>修改web.xml加入
     <resource-ref>
      <description>Oracle Datasource Connector Pool</description>
      <res-ref-name>jdbc/oracle</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
     </resource-ref>搞定
      

  5.   

    应用如下: 
    public abstract class  Entity {  private static DataSource ds=null;           //数据源
      protected final static Connection getDBConn() throws SQLException, NamingException {
        try {
          PrintLog.printLog("Entity--建立数据库连接对象");
          Connection dbc = getDBSource().getConnection();
          return dbc;
        }
        catch (SQLException e) {
          throw e;
        }
        catch (NamingException e) {
          throw e;
        }  }    private final static synchronized DataSource getDBSource() throws NamingException {
        try {
    if (ds == null) {
      PrintLog.printLog("Entity--建立数据源");
      Context initCtx = new InitialContext();
      Context envCtx = (Context) initCtx.lookup("java:comp/env");
      ds = (DataSource) envCtx.lookup("jdbc/oracle");
      return ds;
    } else {
      return ds;
    }
        } catch (NamingException e) {
          throw e;
        }  }}
      

  6.   

    按楼上的兄弟的方法改了之后,运行tomcat时报错,程序还能运行:
    2005-1-29 14:50:33 org.apache.coyote.http11.Http11Protocol init
    信息: Initializing Coyote HTTP/1.1 on http-80
    2005-1-29 14:50:33 org.apache.catalina.startup.Catalina load
    信息: Initialization processed in 971 ms
    2005-1-29 14:50:33 org.apache.catalina.core.StandardService start
    信息: Starting service Catalina
    2005-1-29 14:50:33 org.apache.catalina.core.StandardEngine start
    信息: Starting Servlet Engine: Apache Tomcat/5.5.4
    2005-1-29 14:50:33 org.apache.catalina.core.StandardHost start
    信息: XML validation disabled
    2005-1-29 14:50:34 org.apache.tomcat.util.digester.Digester fatalError
    严重: Parse Fatal Error at line 2 column 2: The up in the document following the root element must be well-formed.
    org.xml.sax.SAXParseException: The up in the document following the root element must be well-formed.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1545)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:561)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437)
    at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:2010)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
    2005-1-29 14:50:34 org.apache.catalina.startup.HostConfig deployDescriptor
    严重: Error deploying configuration descriptor DataSource.xml
    org.xml.sax.SAXParseException: The up in the document following the root element must be well-formed.
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1545)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:561)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437)
    at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:2010)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
    2005-1-29 14:50:35 org.apache.coyote.http11.Http11Protocol start
    信息: Starting Coyote HTTP/1.1 on http-80
    2005-1-29 14:50:35 org.apache.jk.common.ChannelSocket init
    信息: JK2: ajp13 listening on /0.0.0.0:8009
    2005-1-29 14:50:35 org.apache.jk.server.JkMain start
    信息: Jk running ID=0 time=0/50  config=null
    2005-1-29 14:50:35 org.apache.catalina.startup.Catalina start
    信息: Server startup in 2353 ms
      

  7.   

    请在server.xml文件,<context></context>中加入对DATASOURCE.xml
    的引用或直接加入DATASOURCE.xml的内容
      

  8.   

    安装jdk安装tomcat配置环境变量Java_Home C:\JDKTomcat_Home C:\TOMCATPath  C:\JDK\BIN;C:\TOMCAT\BIN;ClassPath .;C:\JDK\LIB\DT.JAR;C:\JDK\LIB\TOOLS.JAR;C:\JDK\LIB;C:\TOMCAT\COMMON\LIB;配置conf\Server.xml 见Server.xml配置Root\Web-Inf\Web.xml 见Web.xml
      

  9.   

    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"/>  <GlobalNamingResources>    <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>  <Service name="Tomcat-Standalone">    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="80"
                   minProcessors="5" maxProcessors="75"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="100" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false" disableUploadTimeout="true" />    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="8009" minProcessors="5" maxProcessors="75"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="10" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false"
                   protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>    <Engine name="Standalone" 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">        <Logger className="org.apache.catalina.logger.FileLogger"
                     directory="logs"  prefix="localhost_log." suffix=".txt"
            timestamp="true"/>        <Context path="" docBase="ROOT" debug="0"
                     reloadable="true" crossContext="true">
              <Logger className="org.apache.catalina.logger.FileLogger"
                         prefix="localhost_examples_log." suffix=".txt"
               timestamp="true"/>
              <Ejb   name="ejb/EmplRecord" type="Entity"
                     home="com.wombat.empl.EmployeeRecordHome"
                   remote="com.wombat.empl.EmployeeRecord"/>          <Environment name="maxExemptions" type="java.lang.Integer"
                          value="15"/>
              <Parameter name="context.param.name" value="context.param.value"
                         override="false"/>
              <Resource name="jdbc/SqlServerDB" auth="Container"
                        type="javax.sql.DataSource"/>
              <ResourceParams name="jdbc/SqlServerDB">
                
                <parameter>
       <name>maxActive</name>
       <value>100</value>
    </parameter>
        <parameter>
       <name>maxIdle</name>
       <value>60</value>
    </parameter>
                <parameter>
       <name>maxWait</name>
       <value>10000</value>
    </parameter>
    <!--
        <parameter>
       <name>removeAbandoned</name>
       <value>true</value>
    </parameter>
          <parameter>
       <name>removeAbandonedTimeout</name>
       <value>60</value>
    </parameter>
        <parameter>
       <name>logAbandoned</name>
       <value>false</value>
    </parameter>
    -->
        <parameter>
       <name>factory</name>
       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
        <parameter>
    <name>username</name><value>sa</value>
    </parameter>
                <parameter>
    <name>password</name><value>3667844</value>
    </parameter>
                <parameter>
    <name>driverClassName</name>
                  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
    </parameter>
                <parameter>
    <name>url</name>
                  <value>jdbc:microsoft:sqlserver://211.93.63.99:1433;DatabaseName=shortmessage</value>
    </parameter>
              </ResourceParams>
              <Resource name="mail/Session" auth="Container"
                        type="javax.mail.Session"/>
              <ResourceParams name="mail/Session">
                <parameter>
                  <name>mail.smtp.host</name>
                  <value>localhost</value>
                </parameter>
              </ResourceParams>
              <ResourceLink name="linkToGlobalResource" 
                        global="simpleValue"
                        type="java.lang.Integer"/>
            </Context>      </Host>    </Engine>  </Service></Server>
      

  10.   

    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>Welcome to Tomcat</display-name>
      <description>
         Welcome to Tomcat
      </description><resource-ref>
    <description>connectDB test</description>
    <res-ref-name>jdbc/SqlServerDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref></web-app>
      

  11.   

    用个简单的方法:CATALINA_BASE/webapps中建个xml文件内容如下,就不要修改server.xml了
    <Context path="/demo" docBase="webapps/MyWebApp.war" debug="0" privileged="true">
     <Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource"/> 
    <ResourceParams name="jdbc/oracle">
        <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.0.111:1521:jinhui</value>
        </parameter>
        <parameter>
           <name>username</name>
           <value>ggg</value>
        </parameter>
        <parameter>
           <name>password</name>
           <value>aaa</value>
        </parameter>
        <parameter>
           <name>maxActive</name>
           <value>50</value>
        </parameter>
        <parameter>
           <name>maxIdle</name>
           <value>50</value>
        </parameter>
        <parameter>
           <name>maxWait</name>
          <value>10000</value>
        </parameter>
     </ResourceParams>
    </Context>
    web.xml中加入
    <resource-ref>
      <description>Oracle Datasource Connector Pool</description>
      <res-ref-name>jdbc/oracle</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
     </resource-ref>
      

  12.   

    上面的配置,应该都是正确的,但是有一点非常非常重要,就是tomcat版本的问题,同一种配置,我试过,在tomcat5.5.7下不行(差点就放弃了),最后查了查资料,改用5.0.28版本一试,ok,搞定!至于楼主说的5.5.4版本,我没去试过,估计如果楼主配不出,找不到错误的原因,不妨改用5.0.28试试,说不定有意外的惊喜!!
      

  13.   

    5.0.28
    (delete /Catalina/localhost/quickstart.xml)
    1.server.xml(before </Host>)
    <Context docBase="quickstart" path="/quickstart" reloadable="true" workDir="work\Catalina\localhost\quickstart">
    <Resource name="jdbc/mysql" auth="Container"
                type="javax.sql.DataSource"/>
      <ResourceParams name="jdbc/mysql">
        <parameter>
          <name>username</name>
          <value>admin</value>
        </parameter>
        <parameter>
          <name>password</name>
          <value>123</value>
        </parameter>
        <parameter>
          <name>driverClassName</name>
          <value>com.mysql.jdbc.Driver</value>
        </parameter>
        <parameter>
          <name>url</name>
          <value>jdbc:mysql://localhost:3306/quickstart</value>
        </parameter>
        <parameter>
          <name>maxActive</name>
          <value>8</value>
        </parameter>
        <parameter>
          <name>maxIdle</name>
          <value>4</value>
        </parameter>
      </ResourceParams>
    </Context>2.web.xml*2(before </web-app>)
    <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/mysql</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
     </resource-ref>
      

  14.   

    tomcat连接池配置
    Tomcat文档说明 http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html
    Tomcat4的数据库连接池配置 http://www.7880.com/Info/Article-37ebcbc0-2.html
    tomcat连接池的配置与使用(原创)数据库mysql  http://www.7880.com/Info/Article-37f05fa0.html
      

  15.   

    我也遇到过这个问题,后来在Apache Tomcat Properties的Java选项卡的 java Classpath中加上驱动文件的路径后重启一下解决了,不过我用的是mysql.
    -------------------------------------
    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
    --------------------------------------
      

  16.   

    进admin,可以可视化管理连接池
      

  17.   

    Oracle的JDBC驱动是有版本的,不同的版本是不同的JDBC驱动,这一点不能搞错,你的问题很有可能是这种错误。
      

  18.   

    ============================
    我也遇到过这个问题,后来在Apache Tomcat Properties的Java选项卡的 java Classpath中加上驱动文件的路径后重启一下解决了,不过我用的是mysql.
    ============================
    我也加了还是不行,这怎么回事呢,请问你的Tomcat是哪个版本呢?我的是5.5.4
      

  19.   

    也遇到同样问题!
    换了Tomcat的版本也不行!
    图形化建立的!