Erro com DataSource

Olá amigos tenho um tutorial de Struts + Framework em que estou tentando concluir a aplicação mas esta dando erros na conexao do datasource, ele me gera a mensagem de erro nos Beans e na hora que eu mando compilar o projeto ele me gera um erro no DataSource dizendo que meu caminho esta errado , segue o codigo:

 package strutsdemo.bean;
 
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.LinkedList;
 
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.sql.DataSource;
 
 public class AdminUsers {
     
     protected static DataSource dataSource;
     
     public AdminUsers() throws Exception {
         if (dataSource == null) {
             try {
                 //InitialContext ic = new InitialContext();
                 //dataSource = (DataSource) ic.lookup("java:comp/env/jdbc/StrutsDemoDS");
                 Connection conn = null;
                 InitialContext ic = new InitialContext();
                 DataSource dataSource = (DataSource) ic.lookup("java:comp/env/jdbc/StrutsDemoDS");
                 if (dataSource != null) {
                     conn = dataSource.getConnection();
                 }
                 
             } catch (NamingException ex) {
                 System.out.println(ex.getMessage());
                 throw ex;
             }
         }
     }
     
     protected Connection getConnection() throws SQLException {
         Connection conn = null;
         try {
             conn = dataSource.getConnection();
         } catch (SQLException e) {
             throw e;
         }
         return conn;
     }
     
     
     protected void closeConnection(
             Connection conn,
             PreparedStatement stmt,
             ResultSet rs) {
         if (rs != null) {
             try {
                 rs.close();
             } catch (SQLException e) {
             }
         }
         if (stmt != null) {
             try {
                 stmt.close();
             } catch (SQLException e) {
             }
         }
         if (conn != null) {
             try {
                 conn.close();
             } catch (SQLException e) {
             }
         }
     }
     
     public LinkedList getUserList() throws SQLException {
         Connection conn = null;
         PreparedStatement stmt = null;
         ResultSet rs = null;
         LinkedList users  = new LinkedList();
         try {
             conn = getConnection();
             stmt = conn.prepareStatement("select * from usuario");
             rs = stmt.executeQuery();
             while (rs.next()) {
                 UserData user = new UserData();
                 user.setIdUsuario(rs.getInt("id_usuario"));
                 user.setNome(rs.getString("nome"));
                 user.setLogin(rs.getString("login"));
                 user.setSenha(rs.getString("senha"));
                 user.setSexo(rs.getString("sexo"));
                 user.setAtivo(rs.getBoolean("ativo"));
                 user.setFaixaIdade(rs.getInt("faixa_idade"));
                 users.add(user);
             }
         } catch (SQLException e) {
             throw e;
         } finally {
             closeConnection(conn, stmt, rs);
         }
         return users;
     }
     
     public void insertUser(UserData user) throws SQLException {
         Connection conn = null;
         PreparedStatement stmt = null;
         ResultSet rs = null;
         try {
             conn = getConnection();
             stmt = conn.prepareStatement(
                     "insert into usuario \n" +
                     "(id_usuario, nome, login, senha, sexo, ativo, faixa_idade) \n" +
                     "values (?, ?, ?, ?, ?, ?, ?)");
             stmt.setInt(1, user.getIdUsuario());
             stmt.setString(2, user.getNome());
             stmt.setString(3, user.getLogin());
             stmt.setString(4, user.getSenha());
             stmt.setString(5, user.getSexo());
             stmt.setBoolean(6, user.getAtivo());
             stmt.setInt(7, user.getFaixaIdade());
             stmt.executeUpdate();
         } catch (SQLException e) {
             throw e;
         } finally {
             if (rs != null) {
                 rs.close();
             }
             if (stmt != null) {
                 stmt.close();
             }
         }
     }
     
     public void updateUser(UserData user) throws SQLException {
         Connection conn = null;
         PreparedStatement stmt = null;
         ResultSet rs = null;
         try {
             conn = getConnection();
             stmt = conn.prepareStatement(
                     "update usuario set \n" +
                     "nome = ?, login = ?, senha = ?, sexo = ?, ativo = ?, faixa_idade = ? \n" +
                     "where id_usuario = ?");
             stmt.setString(1, user.getNome());
             stmt.setString(2, user.getLogin());
             stmt.setString(3, user.getSenha());
             stmt.setString(4, user.getSexo());
             short ativo = (short) (user.getAtivo()? 1: 0);
             stmt.setShort(5, ativo);
             stmt.setInt(6, user.getFaixaIdade());
             stmt.setInt(7, user.getIdUsuario());
             stmt.executeUpdate();
         } catch (SQLException e) {
             throw e;
         } finally {
             if (rs != null) {
                 rs.close();
             }
             if (stmt != null) {
                 stmt.close();
             }
         }
     }
     
     public void deleteUser(int idUsuario) throws SQLException {
         Connection conn = null;
         PreparedStatement stmt = null;
         ResultSet rs = null;
         try {
             conn = getConnection();
             stmt = conn.prepareStatement(
                     "delete from usuario where id_usuario = ?");
             stmt.setInt(1, idUsuario);
             stmt.executeUpdate();
         } catch (SQLException e) {
             throw e;
         } finally {
             if (rs != null) {
                 rs.close();
             }
             if (stmt != null) {
                 stmt.close();
             }
         }
     }
 }

o meu codigo de conexao é este galera e o meu struts-config.xml é o seguinte:

 <?xml version="1.0" encoding="ISO-8859-1" ?>
 
 <!DOCTYPE struts-config PUBLIC
           "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
           "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
 
 <struts-config>
 
     <!-- ========== Data Source Configuration =============================== -->
     <data-sources>
         <!--
         <data-source key="org.apache.struts.action.DATA_SOURCE">
         <set-property property="autoCommit" value="false"/>
         <set-property property="description" value="Struts DataSource"/>
         <set-property property="driverClass" value="com.mysql.jdbc.Driver"/>
         <set-property property="url" value="jdbc:mysql://192.168.10.68/strutsdemo "/>
         <set-property property="maxCount" value="4"/>
         <set-property property="minCount" value="2"/>
         <set-property property="user" value="root"/>
         <set-property property="password" value=""/>
         </data-source>
         -->
     </data-sources>
 
 
     <!-- ========== Form Bean Definitions ================================== -->
     <form-beans>
         <form-bean dynamic="false" name="saveEditUserForm" type="strutsdemo.form.SaveEditUserForm" />
         <form-bean dynamic="true" name="saveInsertUserForm" type="org.apache.struts.validator.DynaValidatorForm">
             <form-property name="idUsuario" type="java.lang.String" />
             <form-property name="login" type="java.lang.String" />
             <form-property name="nome" type="java.lang.String" />
             <form-property name="faixaIdade" type="java.lang.String" />
             <form-property name="sexo" type="java.lang.String" />
             <form-property name="ativo" type="java.lang.String" />
             <form-property name="senha" type="java.lang.String" />
             <form-property name="confirmacaoSenha" type="java.lang.String" />
         </form-bean>
     </form-beans>
 
     <!-- ================================= Global Exception Definitions -->
     <global-exceptions>
         <!-- sample exception handler
         <exception key="expired.password" type="app.ExpiredPasswordException" path="/changePassword.jsp"/>
         end sample -->
     </global-exceptions>
 	
     <!-- =================================== Global Forward Definitions -->
     <global-forwards>
         <forward 
         name="welcome" 
         path="/Welcome.do"/>
         <forward 
         name="failure" 
         path="/error.jsp"
         redirect="true" 
         contextRelative="false" />
     </global-forwards>
     
     <!-- =================================== Action Mapping Definitions -->
     <action-mappings>
 
         <action 
         path="/Welcome"
         type="org.apache.struts.actions.ForwardAction"
         parameter="/pages/Welcome.jsp"/>
 
         <action
             path="/listUsers"
             scope="session"
             type="strutsdemo.action.ListUsersAction"
             unknown="false"
             validate="false">
             <forward
             name="success"
             path="/pages/ListUsers.jsp"
             redirect="false"
             contextRelative="false" />
         </action>
         <action
             path="/editUser"
             scope="session"
             type="strutsdemo.action.EditUserAction"
             unknown="false"
             validate="false">
             <forward
             name="success"
             path="/pages/EditUser.jsp"
             redirect="false"
             contextRelative="false" />
         </action>
         <action
             attribute="saveEditUserForm"
             input="/pages/EditUser.jsp"
             name="saveEditUserForm"
             path="/saveEditUser"
             scope="session"
             type="strutsdemo.action.SaveEditUserAction"
             unknown="false"
             validate="true">
             <forward
             name="success"
             path="/pages/listUsers.jsp"
             redirect="false"
             contextRelative="false" />
         </action>
         <action
             path="/insertUser"
             scope="session"
             type="strutsdemo.action.InsertUserAction"
             unknown="false"
             validate="false">
             <forward
             name="success"
             path="/pages/insertUser.jsp"
             redirect="false"
             contextRelative="false" />
         </action>
         <action
             attribute="saveInsertUserForm"
             input="/pages/insertUser.jsp"
             name="saveInsertUserForm"
             path="/saveInsertUser"
             scope="session"
             type="strutsdemo.action.SaveInsertUserAction"
             unknown="false"
             validate="true">
             <forward
             name="success"
             path="/pages/listUsers.jsp"
             redirect="false"
             contextRelative="false" />
             <forward
             name="error"
             path="/pages/insertUser.jsp"
             redirect="false"
             contextRelative="false" />
         </action>
         <action
             path="/deleteUser"
             scope="session"
             type="strutsdemo.action.DeleteUserAction"
             unknown="false"
             validate="false">
             <forward
             name="success"
             path="/pages/listUsers.jsp"
             redirect="false"
             contextRelative="false" />
         </action>
 		
     </action-mappings>
     
     <!-- ===================================== Controller Configuration -->
     <controller
     processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
     
     <!-- ==================== ============ Message Resources Definitions -->
     <message-resources parameter="com.myapp.struts.ApplicationResource" null="true" /> 
     <!-- ======================================= Plug Ins Configuration -->
     <!-- comment following if struts1.0.x -->
     <plug-in className="org.apache.struts.tiles.TilesPlugin" >
         <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
         <set-property property="moduleAware" value="true" />
         <set-property property="definitions-parser-validate" value="true" />
     </plug-in>
     
     <!-- end comment if struts1.0.x -->
     <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
         <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
     </plug-in>
 
 </struts-config>

e o erro que meu log gera é o seguinte:

ERRO GERADO PELO GERENCIADOR DE LOG

 16/11/2006 08:04:31 org.apache.catalina.core.ApplicationContext log
 SEVERE: action: Erro carregando a lista de usuários
 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
         at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
 
 

Amigos nao sei mais o que faco, meu amigo (luis.soares) me deu um help nos outros chanu que estavam dando e o cara é show de bola, agora so ficou estas zicas pra eu tentar resolver, se alguem ae puder me ajudar eu agradeço de coração, tenham todos uma boa semana.

Kleber Gracia
Equipe Kfreelancer.eng.br

No teu web.xml tu chegaste a fazer referencia desse datasource?

Eu constumo configurar no contexto da aplicação que fica dentro do server.xml, aí não rola stress nenhum.

Poderia tentar fazer o mesmo.

O que está usando para rodar tuas aplicações?

Olá amigo, no meu web.xml ficou assim:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>
    <display-name>Projeto Tutorial Struts</display-name>
  
    <!-- Standard Action Servlet Configuration (with debugging) -->
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>


    <!-- Standard Action Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>


    <!-- The Usual Welcome File List -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>


    <!-- Struts Tag Library Descriptors -->
    <taglib>
        <taglib-uri>/tags/struts-bean</taglib-uri>
        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/tags/struts-html</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/tags/struts-logic</taglib-uri>
        <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/tags/struts-nested</taglib-uri>
        <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
    </taglib>

    <taglib>
        <taglib-uri>/tags/struts-tiles</taglib-uri>
        <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    </taglib>

</web-app>

pelo que vi nao tem referencia de banco nele nao.

Não use o data source do struts, use o do seu conteiner.

Olá amigo, como faco para usar o do container??? Nao tenho nocao alguma sobre isso.

Qual conteiner vc usa?

Olá amigo, eu estou usando para desenvolvimento o Netbeans, mas quanto a container nao sei qual estou usando por nao conhecer isso.

a quanto ao container, estou usando o jakarta/tomcat.

[quote=sg]a quanto ao container, estou usando o jakarta/tomcat.
[/quote]
Leia esse howto

Ola amigo, estou usando o container do Tomcat, ou seja, minha conexao é feita partindo do arquivo SERVER.XML em que se encontra dentro do diretorio do tomcat ele esta assim, mas acho que tem alguma coisa errada nele se for olhar como esta minha classe de conexao parece ter algo errado mas ainda nao sei o que é:

server.xml

     <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
			<DefaultContext> 
				<Resource name="jdbc/StrutsDemoDS" auth="Container" type="javax.sql.DataSource" scope="Shareable"/> 
					<ResourceParams name="jdbc/StrutsDemoDS"> 
					<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter> 
					<parameter><name>driverClassName</name><value>com.mysql.jdbc.Driver</value></parameter> 
					<parameter><name>url</name><value>jdbc:mysql://localhost/strutsdemo</value></parameter> 
					<parameter><name>username</name><value>root</value></parameter> 
					<parameter><name>password</name><value></value></parameter> 
					<parameter><name>maxActive</name><value>20</value></parameter> 
					<parameter><name>maxIdle</name><value>10</value></parameter> 
					<parameter><name>maxWait</name><value>100</value></parameter> 
				</ResourceParams> 
			</DefaultContext> 

se tiver como me ajudar eu lhe agradeco, e eu ja havia lido este material, muitississimo obrigado amigo.

ola Pessoal

tava lendo esse topico, e vi a recomendação para usar o datasorce do conteiner, e aproveitando essa deixa to com um problemas aqui no uso do data source do conteiner, se alguem pude me ajudar.

Meu ambiente ta configurado assim: Jvm 1.5, Tomcat 5.5 firebird, jdbc do firebird e struts1.2.8

Configuração do arquivo server.xml :

<?xml version="1.0" encoding="UTF-8"?>

<Resource

  name="jdbc/tera"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory"
  type="javax.sql.DataSource"
  password="masterkey"
  driverClassName="org.firebirdsql.jdbc.FBDriver"
  maxIdle="2"
  maxWait="5000"
  username="sysdba"
  url="jdbc:firebirdsql:localhost/3050:D:/Firebird/db/TERADB"
  maxActive="15"/>

Tag colocada no arquivo web.xml da aplicação

jdbc/tera javax.sql.DataSource Container

dentyro do diretorio commons/lib do tomcat foi colocado o jar commons-dbcp-1.2.1.

Ao start o tomcat esse exivida a seguint mensagem de erro e o tomcat não he startado:

20/11/2006 10:52:34 org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 21 column 8: The string “–” is not permitted
within comments.
org.xml.sax.SAXParseException: The string “–” is not permitted within comments.

    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAX

ParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalErro
r(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(U
nknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanComment(Unknow
n Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanComment(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown So
urce)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
known Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
at org.apache.catalina.startup.Catalina.load(Catalina.java:523)
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.load(Bootstrap.java:266)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
20/11/2006 10:52:34 org.apache.catalina.startup.Catalina load
WARNING: Catalina.start using conf/server.xml:
org.xml.sax.SAXParseException: The string “–” is not permitted within comments.

    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un

known Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
at org.apache.catalina.startup.Catalina.load(Catalina.java:523)
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.load(Bootstrap.java:266)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
20/11/2006 10:52:34 org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 21 column 8: The string “–” is not permitted
within comments.
org.xml.sax.SAXParseException: The string “–” is not permitted within comments.

    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAX

ParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalErro
r(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(U
nknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanComment(Unknow
n Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanComment(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown So
urce)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
known Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
at org.apache.catalina.startup.Catalina.start(Catalina.java:543)
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:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
20/11/2006 10:52:34 org.apache.catalina.startup.Catalina load
WARNING: Catalina.start using conf/server.xml:
org.xml.sax.SAXParseException: The string “–” is not permitted within comments.

    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un

known Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.Catalina.load(Catalina.java:489)
at org.apache.catalina.startup.Catalina.start(Catalina.java:543)
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:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
20/11/2006 10:52:34 org.apache.catalina.startup.Catalina start
INFO: Server startup in 0 ms
java.lang.reflect.InvocationTargetException
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:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.NullPointerException
at org.apache.catalina.startup.Catalina.await(Catalina.java:615)
at org.apache.catalina.startup.Catalina.start(Catalina.java:575)
… 6 more

Alguem tem alguma pista do problema? Grato!

Observação ja foi feito os teste com a aplicação acessando o banco fazendo uma conexão jdbc.

O erro ainda persiste amigos.

Como ficou a configuração do teu datasource no contexto da tua aplicação? Tem como postar aí?

segue amigo, o erro parece que é por ele nao conseguir achar o JDBC mas fiz de tudo, configurei, coloquei arquivo JARs dentro da pasta e nada segue:

ERRO

16/11/2006 08:04:31 org.apache.catalina.core.ApplicationContext log
SEVERE: action: Erro carregando a lista de usuários
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class ‘’ for connect URL ‘null’
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)

é um gerenciador de log que fiz que me da este retorno.

Ola amigos, vi em um post de noss forum GUJ, em que o rapaz diz que tem que se seguir uma ordem para colocar as coisas. O post é este abaixo, mas nao terminaram so comentaram isso e pararam de escrever vejam:

http://www.guj.com.br/posts/list/7928.java

Tks ae.

Ajuda ae pessoal.

Help amigos.

Olá amigos, quebrei a cabeca mas consegui, so tem alguns detalhes pequenos comparados ao que eu estava tendo hehehe, grato a todos, o meu arquivo struts-config.xml ficou assim:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

<struts-config>

    <!-- ========== Data Source Configuration =============================== -->
    
    <!--
    <data-sources>
        
    <data-source key="org.apache.struts.action.DATA_SOURCE">
    <set-property property="autoCommit" value="false"/>
    <set-property property="description" value="Struts DataSource"/>
    <set-property property="driverClass" value="com.mysql.jdbc.Driver"/>
    <set-property property="url" value="java:comp/env/jdbc/StrutsDemoDS"/>
    <set-property property="maxCount" value="4"/>
    <set-property property="minCount" value="2"/>
    <set-property property="user" value="root"/>
    <set-property property="password" value="solo23"/>
    </data-source>
        
    </data-sources>
    -->

    <!-- ========== Form Bean Definitions ================================== -->
    <form-beans>
        <form-bean dynamic="true" name="saveEditUserForm" type="strutsdemo.form.SaveEditUserForm"/>
        <form-bean dynamic="true" name="editUserBean" type="strutsdemo.action.EditUserBean"/>
        
        <form-bean dynamic="true" name="insertUserBean" type="strutsdemo.action.InsertUserAction"/>
        
        
        
        <form-bean dynamic="true" name="saveInsertUserForm" type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="idUsuario" type="java.lang.String" />
            <form-property name="login" type="java.lang.String" />
            <form-property name="nome" type="java.lang.String" />
            <form-property name="faixaIdade" type="java.lang.String" />
            <form-property name="sexo" type="java.lang.String" />
            <form-property name="ativo" type="java.lang.String" />
            <form-property name="senha" type="java.lang.String" />
            <form-property name="confirmacaoSenha" type="java.lang.String" />
        </form-bean>
    </form-beans>

    <!-- ================================= Global Exception Definitions -->
    <global-exceptions>
        <!-- sample exception handler
        <exception key="expired.password" type="app.ExpiredPasswordException" path="/changePassword.jsp"/>
        end sample -->
    </global-exceptions>
	
    <!-- =================================== Global Forward Definitions -->
    <global-forwards>
        <forward 
        name="welcome" 
        path="/Welcome.do"/>
        <forward 
        name="failure" 
        path="/error.jsp"
        redirect="true" 
        contextRelative="false" />
        <forward 
        name="success" 
        path="/ListUsers.jsp"
        redirect="true" 
        contextRelative="false" />
        
    </global-forwards>
    
    <!-- =================================== Action Mapping Definitions -->
    <action-mappings>

        <action 
        path="/Welcome.do"
        type="org.apache.struts.actions.ForwardAction"
        parameter="/pages/Welcome.jsp"/>

        <action
            attribute="userListBean"
            input="/pages/ListUsers.jsp"     
            path="/listUsers"
            scope="session"
            type="strutsdemo.action.ListUsersAction"
            unknown="false"
            validate="false">
            <forward
            name="success"
            path="/ListUsers.jsp"
            redirect="false"
            contextRelative="false" />
            <forward
            name="failure"
            path="/error.jsp"
            redirect="false"
            contextRelative="false" />
        </action>
        <action
            path="/editUser"
            scope="session"
            type="strutsdemo.action.EditUserAction"
            unknown="false"
            validate="false">
            <forward
            name="success"
            path="/EditUser.jsp"
            redirect="false"
            contextRelative="false" />
        </action>

        <!-- ===================================== Conf do EditUser.jsp -->
        <action
            attribute="editUserBean"
            input="/pages/EditUser.jsp"
            name="saveEditUserForm"
            path="/saveEditUser"
            scope="session" 
            type="strutsdemo.action.SaveEditUserAction"
            unknown="false"
            validate="true">
            <forward
            name="success"
            path="/pages/ListUsers.jsp"
            redirect="false"
            contextRelative="false" />
        </action>
        <action
            path="/insertUser"
            scope="session"
            type="strutsdemo.action.InsertUserAction"
            unknown="false"
            validate="false">
            <forward
            name="success"
            path="/pages/insertUser.jsp"
            redirect="false"
            contextRelative="false" />
        </action>

        <!-- ===================================== Conf do InsertUser.jsp -->        
        <action
            attribute="insertUserBean"
            input="/pages/insertUser.jsp"
            name="saveInsertUserForm"
            path="/saveInsertUser"
            scope="session"
            type="strutsdemo.action.SaveInsertUserAction"
            unknown="false"
            validate="true">
            <forward
            name="success"
            path="/pages/ListUsers.jsp"
            redirect="false"
            contextRelative="false" />
            <forward
            name="error"
            path="/pages/insertUser.jsp"
            redirect="false"
            contextRelative="false" />
        </action>
        <action
            path="/deleteUser"
            scope="session"
            type="strutsdemo.action.DeleteUserAction"
            unknown="false"
            validate="false">
            <forward
            name="success"
            path="/pages/ListUsers.jsp"
            redirect="false"
            contextRelative="false" />
        </action>
		
    </action-mappings>
    
    <!-- ===================================== Controller Configuration -->
    <controller
    processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
    
    <!-- ==================== ============ Message Resources Definitions -->
    <message-resources parameter="com.myapp.struts.ApplicationResource" null="false" /> 
    <!-- ======================================= Plug Ins Configuration -->

    <!-- comment following if struts1.0.x -->
    <plug-in className="org.apache.struts.tiles.TilesPlugin" >
        <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
        <set-property property="moduleAware" value="true" />
        <set-property property="definitions-parser-validate" value="true" />
    </plug-in>
    
    <!-- end comment if struts1.0.x -->
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>

</struts-config>

pode considerar fechado o tópico. Qualquer coisa se alguem quiser o projeto vou postar no www.kfreelancer.eng.br t+ e obrigado a todos.