CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  应用服务器

请帮忙分析win2000+Tomcat5.0.27+Oracle8.1.7配置连接池问题出在哪里?

楼主Lxiaodao(洋洋)2005-05-02 10:44:18 在 Java / 应用服务器 提问

第一步:在tomcat中设置Data   Source(common\lib下驱动:classes12.jar.classes12-for   oracle8.jar)  
                  JNDI   Name:     jdbc/mydata        
                  Data   Source   URL:     jdbc:oracle:thin:@localhost:1521:mydata      
                  JDBC   Driver   Class:          
                  User   Name:          
                  Password:          
                  Max.   Active   Connections:   4        
                  Max.   Idle   Connections:2          
                  Max.   Wait   for   Connection:       5000    
                  Validation   Query:    
  第二步:在\jakarta-tomcat-5.0.27\webapps\DeoWeb\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>My   Web   Application</display-name>    
  <description>    
  MY   homesite.  
  </description>  
   
  <resource-ref>  
          <description>  
              oracle   DataSource  
          </description>  
          <res-ref-name>  
              jdbc/mydata  
          </res-ref-name>  
          <res-type>  
              javax.sql.DataSource  
          </res-type>  
          <res-auth>  
              Container  
          </res-auth>  
      </resource-ref>  
  </web-app>    
  第三步:启动tomcat后conf\confserver.xml自动变成了这个样子(自动发布为全局连接池?哈哈,没有弄懂结构的意思):  
  <?xml   version='1.0'   encoding='utf-8'?>  
  <Server>  
      <Listener   className="org.apache.catalina.mbeans.ServerLifecycleListener"/>  
      <Listener   className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>  
      <GlobalNamingResources>  
          <Environment   name="simpleValue"   type="java.lang.Integer"   value="30"/>  
          <Resource   auth="Container"   description="User   database   that   can   be   updated   and   saved"   name="UserDatabase"   type="org.apache.catalina.UserDatabase"/>  
          <Resource   name="jdbc/mydata"   type="javax.sql.DataSource"/>  
          <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>  
          <ResourceParams   name="jdbc/mydata">  
             
              <parameter>  
                  <name>maxWait</name>  
                  <value>5000</value>  
              </parameter>  
              <parameter>  
                  <name>maxActive</name>  
                  <value>4</value>  
              </parameter>  
              <parameter>  
                  <name>password</name>  
                  <value>manager</value>  
              </parameter>  
              <parameter>  
                  <name>url</name>  
                  <value>jdbc:oracle:thin:@localhost:1521:mydata</value>  
              </parameter>  
              <parameter>  
                  <name>driverClassName</name>  
                  <value>oracle.jdbc.driver.OracleDriver</value>  
              </parameter>  
              <parameter>  
                  <name>maxIdle</name>  
                  <value>2</value>  
              </parameter>  
              <parameter>  
                  <name>username</name>  
                  <value>system</value>  
              </parameter>  
          </ResourceParams>  
      </GlobalNamingResources>  
      <Service   name="Catalina">  
          <Connector   acceptCount="100"   connectionTimeout="20000"   disableUploadTimeout="true"   port="8080"   redirectPort="8443"   maxSpareThreads="75"   maxThreads="150"   minSpareThreads="25">  
          </Connector>  
          <Connector   port="8009"   protocol="AJP/1.3"   protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"   redirectPort="8443">  
          </Connector>  
          <Engine   defaultHost="localhost"   name="Catalina">  
              <Host   appBase="webapps"   name="localhost">  
                      <Context   path="   "   docBase="."/>    
                  <Logger   className="org.apache.catalina.logger.FileLogger"   prefix="localhost_log."   suffix=".txt"   timestamp="true"/>  
              </Host>  
           
              <Logger   className="org.apache.catalina.logger.FileLogger"   prefix="catalina_log."   suffix=".txt"   timestamp="true"/>  
              <Realm   className="org.apache.catalina.realm.UserDatabaseRealm"/>  
          </Engine>  
      </Service>  
  </Server>  
  第四步:写了个简单jsp测试:  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN">  
  <%@   page   contentType="text/html;   charset=iso-8859-1"   %>  
  <%@   page   import="java.sql.*"%>  
   
  <%@   page   import="javax.sql.*"%>  
   
  <%@   page   import="javax.naming.*"%>  
   
   
  <html>  
   
  <head>  
   
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
   
  <title></title>  
   
  <%    
   
        out.println("Test   begin!");  
   
         
   
        try{  
   
        InitialContext   ctx=new   InitialContext();  
        out.println("First   success!");  
   
        DataSource   ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mydata");  
          out.println("Second   success!");  
   
        Connection   conn   =   ds.getConnection();  
        out.println("Third   success!");  
        Statement   stmt   =   conn.createStatement();  
   
        String   strSql   =   "select   *   from   sys.signon";  
   
        ResultSet   rs   =   stmt.executeQuery(strSql);  
   
        while(rs.next()){  
   
              out.print(rs.getString(1));       }  
   
        out.print("我的测试结束");  
       
        }  
   
        catch(Exception   ex){  
   
                out.print("There   is   exception:"+ex.getMessage());  
   
          ex.printStackTrace();  
   
        }  
       
  %>  
   
  </head>  
   
  <body>  
   
  </body>  
   
  </html>  
   
  第五:问题和错误:  
  页面显示错误:  
  Test   begin!   First   success!   Second   success!   There   is   exception:Cannot   create   JDBC   driver   of   class   ''   for   connect   URL   'null'    
  在控制台有一条很醒目的提示:  
  Caused   by:java.sql.SQLExeception:No   suitable   driver  
  //////////////////////////////////////////////////////  
  我的驱动真的有问题??我的环境下不能直接把classes111.zip改成jar格式文件,有没有其他方法修改?顺便请哪位发一个文件给我E-mail:L_xiaodao2003@yahoo.com.cn,不甚感谢。  
  问题点数:50、回复次数:5Top

1 楼Lxiaodao(洋洋)回复于 2005-05-02 15:07:33 得分 0

各位,不好意思,问题已经解决。有兴趣可以看看我的文章。Top

2 楼sunyanbing(流星)回复于 2005-05-11 12:39:07 得分 10

"JNDI   Name:     jdbc/mydata        
                  Data   Source   URL:     jdbc:oracle:thin:@localhost:1521:mydata      
                  JDBC   Driver   Class:          
                  User   Name:          
                  Password:          
                  Max.   Active   Connections:   4        
                  Max.   Idle   Connections:2          
                  Max.   Wait   for   Connection:       5000    
                  Validation   Query"  
  是不是JDBC   Driver   Class没有加入啊?还是哪个地方啊?说一声啊Top

3 楼Lxiaodao(洋洋)回复于 2005-05-13 21:15:07 得分 0

加入了,只是这个上面没有拷贝上来。  
  其实,在Tomcat5中我们可以不在server.xml中配置Context,可以在\jakarta-tomcat-5.0.27\conf\Catalina\localhost下针对具体的文件夹名.xml(如:我的是blog.xml)中配置Context,这样就免去了在web.xml中还要配置。  
  总结:Tomcat5中,可以不在server.xml和web.xml中配置就能实现连接池配置;这应该是Tomcat5的功能相对Tomcat4的提高,有些朋友在Tomcat5中(使用在Tomcat4中配置方法)来配置连接池不能正常使用,可以采用这个方法,更快捷!!Top

4 楼zqj9899(一根筷子)回复于 2005-05-26 13:20:50 得分 0

server.xml  
  Top

5 楼kingofhawks(蓝鹰)回复于 2005-05-26 14:21:04 得分 40

Tomcat5.0   把你的JDBC   Resource加到tomcat\conf\catalina\localhost\your   app's   context   xml中  
    <Resource   name="jdbc/mydata"   type="javax.sql.DataSource"/>  
          <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>  
          <ResourceParams   name="jdbc/mydata">  
             
              <parameter>  
                  <name>maxWait</name>  
                  <value>5000</value>  
              </parameter>  
              <parameter>  
                  <name>maxActive</name>  
                  <value>4</value>  
              </parameter>  
              <parameter>  
                  <name>password</name>  
                  <value>manager</value>  
              </parameter>  
              <parameter>  
                  <name>url</name>  
                  <value>jdbc:oracle:thin:@localhost:1521:mydata</value>  
              </parameter>  
              <parameter>  
                  <name>driverClassName</name>  
                  <value>oracle.jdbc.driver.OracleDriver</value>  
              </parameter>  
              <parameter>  
                  <name>maxIdle</name>  
                  <value>2</value>  
              </parameter>  
              <parameter>  
                  <name>username</name>  
                  <value>system</value>  
              </parameter>  
          </ResourceParams>  
  也就是这一段放到<context>.....</context>中,如果你的应用是自动部署到webapps目录下的话,那个context.xml是自动生成的,建议你把应用自动部署吧,这样可以省却不少麻烦,我的就是这样配置的.  
  其他诸如驱动,web.xml中引用的问题就不加多说了.Top

相关问题

  • tomcat里怎么配置DataSource?例如oracle?
  • jdk1.3+tomcat怎样配置oracle驱动程序
  • 在线等:Tomcat 5下配置Oracle Connection Pool的小问题,急~
  • 配置Apache+Tomcat
  • Tomcat配置。
  • TOMCAT 配置!!!!!
  • tomcat配置
  • Tomcat JDBC配置
  • tomcat的配置
  • 关于Tomcat+Oracle 8i, 9i & 10g 连接池配置的个人笔记

关键词

得分解答快速导航

  • 帖主:Lxiaodao
  • sunyanbing
  • kingofhawks

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo