IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Problème connexion struts mysql


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut Problème connexion struts mysql
    Bonjour,

    Je termine le tuto de Serge Tahé et j'en suis à la connexion db; J'ai MySQL en localhost sur le 3306, mais lorsque je lance le projet j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    java.lang.NoSuchMethodError: be.aptelia.articles.ListeArticlesAction.getDataSource(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;)Ljavax/sql/DataSource;
    	at be.aptelia.articles.ListeArticlesAction.execute(ListeArticlesAction.java:35)
    	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    	at java.lang.Thread.run(Thread.java:595)
    Le Struts-config.xml est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version="1.0" encoding="UTF-8"?>
    <!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-sources>
    		<!-- configuration for commons BasicDataSource -->
    		<data-source type="org.apache.commons.dbcp.BasicDataSource" key="dbarticles">
    			<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
    			<set-property property="url" value="jdbc:mysql://localhost:3306/test" />
    			<set-property property="username" value="root" />
    			<set-property property="password" value="rem42axa" />
    			<set-property property="maxActive" value="10" />
    			<set-property property="maxWait" value="5000" />
    			<set-property property="defaultAutoCommit" value="false" />
    			<set-property property="defaultReadOnly" value="false" />
    		</data-source>
    	</data-sources>
    	<action-mappings>
    		<action 
    			path="/liste"
    			type="be.aptelia.articles.ListeArticlesAction">
    			<forward name="afficherListeArticles" path="/vues/jsp/listarticles.jsp" />
    			<forward name="afficherErreurs" path="/vues/jsp/erreurs.jsp" />
    		</action>
    	</action-mappings>
    	<message-resources
    		parameter="ressources.ApplicationRessources.properties"
    		null="false" />
    </struts-config>
    et l'erreur provient de la connection ligne en rouge :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
    			throws IOException, ServletException {
    		// lit le contenu de la table articles d'une connexion
    		// réalisée à l'init du contexte
    		// on récupère a source de données dbarticles
    		DataSource dataSource = this.getDataSource(request,"dbarticles");
    		if (dataSource == null) {
    			// la source de données n'a pas pu être créée
    			ActionErrors erreurs = new ActionErrors();
    			erreurs.add("dbarticles", new ActionMessage("erreur.dbarticles", "La source de données n'a pu être créée"));
    			this.addErrors(request, erreurs);
    			return mapping.findForward("afficherErreurs");
    		}
    Quelqu'un pourait-il me dire ce que j'ai fait comme grosse c........
    Merci pour votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Avant de rentrer dans le détail de ton code, vu que tu parles du tuto de Serge Tahé, as-tu téléchargé l'erratum (ou les errata) de ce tuto, connu pour avoir des bugs dans sa version initiale ? (une recherche sur "Tahé" sur ce forum te renseignerait peut-être aussi)

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut
    Merci pour l'info mais le code vient justement de l'errata

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Ton action est-elle bien une sous-classe de "Action" ?

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut
    oui tout à fait, voici le début de ma classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.sql.DataSource;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
     
    /**
     * @author clast
     * 
     */
    public class ListeArticlesAction extends Action {

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Dans ce cas, vérifie ta version de Struts. Je ne sais pas sur quelle version est basé ce tuto, mais il est bien possible que la méthode getDataSource(HttpServletRequest, String) ait été codée dans une version plus récente que la méthode getDataSource(HttpServletRequest)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème connexion base mysql
    Par rezguiinfo dans le forum C#
    Réponses: 1
    Dernier message: 09/05/2010, 12h45
  2. [MySQL] Problème connexion bdd mysql
    Par boobs60 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 11/03/2010, 08h48
  3. Problème connexion BDD MySql avec jdbc
    Par libery dans le forum JDBC
    Réponses: 6
    Dernier message: 27/05/2009, 12h25
  4. probleme de connexion struts+mysql
    Par stratocasters dans le forum Struts 1
    Réponses: 1
    Dernier message: 07/05/2008, 15h49
  5. Problème connexion distante à mysql
    Par jacques.hel dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/03/2008, 08h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo