服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

配置tomcat5.0连接池遇到的问题,请高人指点

我在使用tomcat5.0连接池功能时,得到的conn对象总是为空,真是郁闷,请高人指点。多谢多谢了!!!!
这是我的server.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/hello" 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/hello">
      <parameter>
        <name>url</name>
        <value>jdbc:oracle:thin@127.0.0.1:1521:jingrui</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>tiger</value>
      </parameter>
      <parameter>
        <name>maxactive</name>
        <value>4</value>
      </parameter>
      <parameter>
        <name>maxwait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>driverclassname</name>
        <value>oracle.jdbc.driver.oracledriver</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>scott</value>
      </parameter>
      <parameter>
        <name>maxidle</name>
        <value>2</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">
        <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>

这是我的web.xml加的东东
<?xml version="1.0" encoding="iso-8859-1"?>
<web-app>
  <display-name>tiannet web</display-name>
    <description>connectdb test</description>
    <resource-ref>
      <description>db connection</description>
      <res-ref-name>jdbc/hello</res-ref-name>
      <res-type>javax.sql.datasource</res-type>
      <res-auth>container</res-auth>
    </resource-ref>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>  
</web-app>


都是按其文档帮助中进行的,就是不中
这是测试页面
<%@ page contenttype="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>

 

<html>
<body>
<%
    datasource ds = null;
   
    resultset rs = null;
    statement stmt = null;
 connection conn = null;

    string    m_strdriver = "oracle.jdbc.driver.oracledriver",        // 驱动字符串
               m_strconurl = "jdbc:oracle:thin:";                       // 连接字符串
   try
   {
     
   context initcontext = new initialcontext();
   
   ds = (datasource)initcontext.lookup   ("java:comp/env/jdbc/hello");

   
                   //注意connectdb的名称和上面一致
         conn = ds.getconnection();

   out.println("has error here");
           stmt = conn.createstatement();

           string strsql = " select * from emp";                        //test为数据库中的一个表    
          rs = stmt.executequery(strsql);
    if(rs==null){out.println("rs is null");}
    else
     {out.println("okokok");}
          while(rs.next())
    {
    out.println("hello");
    }
   }
   catch(exception ex)
   {
        if(conn == null){out.println("conn is null");}
  out.println(ex.getmessage());
  out.println("has dkjf");
   }
   finally
   {
         
         
          
          
   }
%>
</body>
</html>

 

扫描关注微信公众号