在D:\Tomcat 6.0\conf\Catalina\localhost目录下建一个文件webagent.xml;配置如下:<?xml version='1.0' encoding='utf-8'?>
<Context displayName="webagent" docBase="E:\sunyardwork\csrcbank\csrSystem\WebRoot" path="/webagent" reloadable="true">
 <Resource name="jdbc/newAgent" type="javax.sql.DataSource"/>
 <ResourceParams name="jdbc/newAgent">
    <parameter>
      <name>url</name> 
      <value>jdbc:oracle:thin:@127.0.0.1:1521:agentdb</value>
    </parameter>
    <parameter>
      <name>username</name>
      <value>agent</value>
    </parameter>
    <parameter>
      <name>password</name>
      <value>agent</value>
    </parameter>
    <parameter>
      <name>maxActive</name>
      <value>20</value>
    </parameter>
    <parameter>
      <name>maxWait</name>
      <value>5000</value>
    </parameter>
    <parameter>
      <name>driverClassName</name>
      <value>oracle.jdbc.driver.OracleDriver</value>
    </parameter>
    <parameter>
      <name>maxIdle</name>
      <value>10</value>
    </parameter>
  </ResourceParams>
       <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">
       <Store className="org.apache.catalina.session.FileStore" />
    </Manager>
</Context>==========================================================================

解决方案 »

  1.   

    applicationContext.xml配置如下<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans> <bean id="dataSource1" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
    <value>java:comp/env/jdbc/newAgent</value>
    </property>
    </bean> <bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource1" />
    </bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="dataSource" ref="dataSource1" />
    <property name="configLocation" value="WEB-INF/sql-map-config.xml" />
    </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <constructor-arg>
    <ref bean="dataSource1" />
    </constructor-arg>
    </bean>
    <bean id="sqlExecuteDao" class="com.sunyard.csr.dao.SqlExecuteDao">
    <property name="sqlMapClient" ref="sqlMapClient" />
    </bean>

    <bean id="secuSignOn" class="com.sunyard.csr.iface.SecuSignOnImpl">
    <property name="csrBusinessService"  ref="csrBusinessService" />
    </bean>

    <bean id="tradeSpec" class="com.sunyard.tl.business.EtpSpecialTradeBusiness">
    </bean> <bean id="ctievent" class="com.sunyard.tl.business.CtiEventBusiness">
    </bean>
    <bean id="csrBusinessService" class="com.sunyard.csr.service.CSRBusinessService">
    <property name="sqlExecuteDao"  ref="sqlExecuteDao" />
    <property name="secuSignOn"  ref="secuSignOn" />
    <property name="ctievent"  ref="ctievent" />
    </bean><!-- 
    <bean id="baseAction" class="com.sunyard.csr.action.BaseAction">
        <property name="csrBusinessService" ref="csrBusinessService" />
    </bean>
     -->
    </beans>
      

  2.   

    web.xml配置如下:<?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>newAgent.root</param-value>
    </context-param>
     
            
    <context-param>
      <param-name>log4jConfigLocation</param-name>
      <param-value>/WEB-INF/log4j.properties</param-value>
    </context-param>
     

    <context-param>
    <param-name>DATASOURCE_URL</param-name>
    <param-value>java:comp/env/jdbc/newAgent</param-value>
    </context-param>
    <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
    org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    </filter> <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>
    <!-- Spring 刷新Introspector防止内存泄露 -->
    <listener>
    <listener-class>
    org.springframework.web.util.IntrospectorCleanupListener
    </listener-class>
    </listener>
    <listener>
      <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
     </listener>

    <!--sunyard Action controller-->
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>com.sunyard.struts.ActionServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>


    <servlet>
    <description>系统初始化类库</description>
    <servlet-name>appInit</servlet-name>
    <servlet-class>
    com.sunyard.csr.common.AppInitServlet
    </servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
      <servlet>
        <servlet-name>secuSignOnService</servlet-name>
        <servlet-class>com.sunyard.csr.service.SecuSignOnService</servlet-class>
       </servlet> <session-config>
    <session-timeout>540</session-timeout>
    </session-config> <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
      <servlet-mapping>
        <servlet-name>secuSignOnService</servlet-name>
        <url-pattern>/secuSignOnService</url-pattern>
      </servlet-mapping>
    <!--dwr config start-->
    <servlet>
            <servlet-name>dwr-invoker</servlet-name>
            <servlet-class>
                org.directwebremoting.servlet.DwrServlet
            </servlet-class>        <init-param>
                <param-name>crossDomainSessionSecurity</param-name>
                   <param-value>false</param-value>
                </init-param>        <init-param>
              <param-name>allowScriptTagRemoting</param-name>
              <param-value>true</param-value>
            </init-param>        <init-param>
              <param-name>classes</param-name>
              <param-value>java.lang.Object</param-value>
            </init-param>        <init-param>
                <param-name>activeReverseAjaxEnabled</param-name>
                <param-value>true</param-value>
            </init-param>        <init-param>
               <param-name>initApplicationScopeCreatorsAtStartup</param-name>
               <param-value>true</param-value>
            </init-param>        <init-param>
               <param-name>maxWaitAfterWrite</param-name>
               <param-value>-1</param-value>
            </init-param>        <init-param>
               <param-name>org.directwebremoting.extend.ServerLoadMonitor</param-name>
               <param-value>org.directwebremoting.impl.PollingServerLoadMonitor</param-value>
            </init-param>
            <init-param>
               <param-name>disconnectedTime</param-name>
               <param-value>30000</param-value>
            </init-param>        <init-param>
                <param-name>debug</param-name>
                <param-value>true</param-value>
            </init-param>        <init-param>
                <param-name>logLevel</param-name>
                <param-value>WARN</param-value>
            </init-param>
          </servlet> <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping> <!-- dwr config  end-->
    <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
    <error-page>
    <error-code>403</error-code>
    <location>/error.html</location>
    </error-page>
    <login-config>
    <auth-method>BASIC</auth-method>
    </login-config>
    <resource-ref>  
            <description>DB Connection</description>  
            <res-ref-name>jdbc/newAgent</res-ref-name>  
            <res-type>javax.sql.DataSource</res-type>  
            <res-auth>Container</res-auth>
       </resource-ref>
       
       <!-- 质检系统角色类型定义 -->
       <!-- 普通座席 -->
        <context-param>
    <param-name>zx_role</param-name>
    <param-value>qcstaff</param-value>
    </context-param> <!-- 质检员 -->
    <context-param>
    <param-name>monitorRole</param-name>
    <param-value>operator</param-value>
    </context-param> <!-- 质检主管 -->
    <context-param>
    <param-name>zjMonitorRole</param-name>
    <param-value>governor</param-value>
    </context-param>   
       
    </web-app>
      

  3.   

    第一个错误就已经告诉,获取数据库连接信息错误了,获取到空值:
    Error while extracting database product name - falling back to empty error codes
    获取数据库连接的时候为null:
    Cannot create JDBC driver of class '' for connect URL 'null'
    请参考jndi的数据源配置:
    http://wenku.baidu.com/link?url=crnzBPwmbr4fcYg8Fd4ScsP-cHdaNBxnfNqjDqdYXpigvAsNedITjXaugnEz2NeYKZA5Xtvk1B5vDGzvjlSwlWE__t-wHEa-R0wrthriacq