Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1216 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [STRUTS] Problème de connexion à la database

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[STRUTS] Problème de connexion à la database

n°673826
vincenzo20​04
Posté le 15-03-2004 à 10:41:38  profilanswer
 

J'essaie de développer avec struts une interface qui permet d'interroger une base de données.
Je test ma connexion en réalisant un formulaire qui lorsque l'on clique sur le bouton éxécute une requête.
Mais j'ai un message d'erreur qui apparaît:
 
javax.servlet.ServletException: "Servlet.init()" pour la servlet action a généré une exception
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
 org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
 org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
 java.lang.Thread.run(Thread.java:534)
et  
java.lang.NoClassDefFoundError: org/apache/struts/legacy/GenericDataSource
 java.lang.ClassLoader.defineClass0(Native Method)
 java.lang.ClassLoader.defineClass(ClassLoader.java:537)
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
 org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1677)
 org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:900)
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1350)
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1230)
 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
 org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1084)
 org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
 javax.servlet.GenericServlet.init(GenericServlet.java:256)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
 org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
 org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
 java.lang.Thread.run(Thread.java:534)
 
 
J'ai dans mon fichier struts-config.xml ceci:
<data-source type="org.apache.commons.dbcp.BasicDataSource">
     <set-property
        property="driverClassName"
        value="oracle.jdbc.driver.OracleDriver" />
     <set-property
        property="url"
        value="jdbc:oracle:thin:@ip:port:nom" />
     <set-property
        property="username"
        value="" />
     <set-property
        property="password"
        value="" />
      <set-property
        property="maxActive"
        value="10" />
      <set-property
        property="maxWait"
        value="5000" />
      <set-property
     property="defaultAutoCommit"
        value="false" />
     <set-property
      property="defaultReadOnly"
        value="false" />
       
    <set-property
        property="validationQuery"
        value="SELECT Type.Name FROM Type" />
   
   
  </data-source>
 </data-sources>
 
et dans ma classe Action :  
public class LoginAction extends Action {
  public ActionForward execute (
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
  throws IOException, ServletException {
   
   javax.sql.DataSource dataSource;
   java.sql.Connection myConnection;
  try {
   
   dataSource = getDataSource(request);
   myConnection = dataSource.getConnection();    Statement st = myConnection.createStatement();
   String query="SELECT Type.Name"
      +" FROM Type";
   ResultSet rs = st.executeQuery(query);      System.out.println(rs);
     
     rs.close();
    st.close();
    myConnection.close();  
    }  
    catch (SQLException sqle) {
    getServlet().log("Connection.process", sqle);
    }  
     if (request.getSession().getServletContext().getAttribute("users" ) == null ){
       Vector users = new Vector();
       request.getSession().getServletContext().setAttribute("users", users);
      }
   
   return (mapping.findForward("mainmenu" ));
   }
}
 
 
 
Désolé c un peu long mais je ne sais plus quoi faire.
Y a t il d'autres fichiers à créer? Et dans ce cas où les installer?

mood
Publicité
Posté le 15-03-2004 à 10:41:38  profilanswer
 

n°673844
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 15-03-2004 à 10:50:25  profilanswer
 

Pour qq infos:
 
http://www.jguru.com/faq/view.jsp?EID=1069993
 
trouvé ici http://www.e-vati.com/index.php?doc=postgresql:
 
if you get  
java.lang.NoClassDefFoundError: org/apache/struts/legacy/GenericDataSource
this is because you must add struts-legacy.jar within your WEB-INF/lib directory
nb: struts-legacy.jar is provided in struts-1.1 download
 
Apparemment, tu tentes de charger l'ancienne version de la datasource (cf legacy). Peut-être y a-t-il une autre manière de faire ce que tu veux ?


Message édité par machinbidule1974 le 15-03-2004 à 10:55:23
n°673866
vincenzo20​04
Posté le 15-03-2004 à 11:04:59  profilanswer
 

Oups... il manquait tout simplement le struts-legacy .jar.
Je n'ai pas pensée a vérifier si ce package était présent ou non.
 
Merci de ta réponse cela m'a permis de trouver ma pitoyable erreur.


Message édité par vincenzo2004 le 15-03-2004 à 11:37:11

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [STRUTS] Problème de connexion à la database

 

Sujets relatifs
problème avec Eclipseprobleme envoi mail ifrance
Problème avec affichage d'une JtableProblème avec une variable dans une requête
Probleme Graphicsoverload <<, probleme :/
CVI probleme d'utilisation des API windowsMéthode de maj d'une database
Je réalise un petit jeu et j'ai un problème de focus avec l'appletPb de connexion a une base mysql...
Plus de sujets relatifs à : [STRUTS] Problème de connexion à la database


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR