Hi,
  I have a problem with configuring the DBCP and Oracle. My server.xml is:

<Server port="8005" shutdown="SHUTDOWN" debug="0">


  
  <Service name="Tomcat-Standalone">

    
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8080" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="-1"/>
    

        <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true"
               acceptCount="10" debug="0" scheme="https" secure="true">
      <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
               clientAuth="false" protocol="TLS"/>
    </Connector>
    -->

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
               port="8009" minProcessors="5" maxProcessors="75"
               acceptCount="10" debug="0"/>

      
    <Engine name="Standalone" defaultHost="localhost" debug="0">

      
      

      <!-- Global logger unless overridden at lower levels -->
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_log." suffix=".txt"
              timestamp="true"/>

      <!-- Because this Realm is here, an instance will be shared globally
-->

      <Realm className="org.apache.catalina.realm.MemoryRealm" />

      <!-- Replace the above Realm with one of the following to get a Realm
           stored in a database and accessed via JDBC -->

      

      <!-- Define the default virtual host -->
      <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">

        

        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log."
suffix=".txt"
                 pattern="common"/>

        
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
                timestamp="true"/>



        <DefaultContext reloadable="true">
                <Resource name="jdbc/ImedgeDB" auth="CONTAINER" 
                 type="javax.sql.DataSource" /> 
            <!-- type="oracle.jdbc.pool.OracleConnectionCacheImpl"/> -->
            <ResourceParams name="jdbc/ImedgeDB">
        
<parameter><name>factory</name><value>oracle.jdbc.pool.OracleDataSourceFacto
ry</value>
            </parameter>
                <parameter> <name>userName</name> <value>i11dbs</value>
</parameter>
                <parameter><name>password</name><value>i11db5</value>
</parameter>
            <parameter> <name>driverClassName</name>
                <value>oracle.jdbc.driver.OracleDriver</value> </parameter>
                <parameter><name>url</name>
        
<value>jdbc:oracle:thin:@sunlab2:1521:chcity</value></parameter>
            </ResourceParams> 
        </DefaultContext>

        <!-- Tomcat Manager Context -->
        <Context path="/manager" docBase="manager" 
         debug="0" privileged="true"/>

        <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" 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="mail/Session" auth="Container"
                    type="javax.mail.Session"/>
          <ResourceParams name="mail/Session">
            <parameter>
              <name>mail.smtp.host</name>
              <value>localhost</value>
            </parameter>
          </ResourceParams>  
        </Context>

  
        
        

      </Host>

    </Engine>

  </Service>

  <!-- Define an Apache-Connector Service -->
  <Service name="Tomcat-Apache">

    <Connector className="org.apache.catalina.connector.warp.WarpConnector"
     port="8008" minProcessors="5" maxProcessors="75"
     enableLookups="true" appBase="webapps"
     acceptCount="10" debug="0"/>

    <!-- Replace "localhost" with what your Apache "ServerName" is set to
-->
    <Engine className="org.apache.catalina.connector.warp.WarpEngine"
     name="Apache" debug="0">

      <!-- Global logger unless overridden at lower levels -->
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="apache_log." suffix=".txt"
              timestamp="true"/>

      <!-- Because this Realm is here, an instance will be shared globally
-->
      <Realm className="org.apache.catalina.realm.MemoryRealm" />

    </Engine>

  </Service>

</Server>
My web.xml is:
<?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>
        <servlet>
                <servlet-name>
                        IMEDGEAdmin
                </servlet-name>
                <servlet-class>
                        com.imedge.admin.IMOMInit
                </servlet-class>
                <init-param>
                        <param-name>serverpath</param-name>
                        <param-value>c:\tomcat 4.0</param-value>
                </init-param>
        </servlet>
        <servlet-mapping>
                <servlet-name>
                        IMEDGEAdmin
                </servlet-name>
                <url-pattern>
                        /Imedge/Admin
                </url-pattern>
        </servlet-mapping>
        <!-- I add these lines  -->
       
         <resource-ref>
                <description>Imedge ph 3 Database for Admin
Applications</description>
                <res-ref-name>jdbc/ImedgeDB</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
        </resource-ref>
       
       
</web-app>


In My Jsp page I use the following code:

<%@ page import="javax.naming.Context" %>
<%@ page import=" javax.naming.InitialContext" %>
<%@ page import=" javax.sql.DataSource" %>
<%@ page import=" java.sql.Connection" %>
<%@ page import="java.sql.*" %>




        <% 
            Context ctx = new InitialContext();
              if (ctx ==null)
                throw new Exception("Oh my God - No context");
             Context envCtx = (Context) ctx.lookup("java:/comp/env");
                  DataSource ds = (DataSource)
envCtx.lookup("jdbc/ImedgeDB");
               Connection conn = ds.getConnection();
            ResultSet rs = conn.executeQuery("select table_name from
user_tables "); 
            OracleResultSet orars = (OracleResultSet)rs; 
            
 %>

The problem is : ds(datasource) is null; Anyone knows what is wrong here?   
I get the error is:

java.lang.NullPointerException
        at org.apache.jsp.testfam$jsp._jspService(testfam$jsp.java:93)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

Any suggestion will be appreciated.

Eddie Liang
Database Architect
Phone: 630-810-9669 x253




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to