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 :

pool de connexion avec Tomcat 5


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut pool de connexion avec Tomcat 5
    J'essaye de declarer ma source données

    -J 'utilise tomcat 5 sous windows
    - d'aprés ce que j'ai lu dans les tutoriel c'est que je dois mettre les declaration dans ( web.xml et META-INF/context.xml)

    - dans le répertoire de l'application "dal2" j'ai créé le dossier META-INF puis le fichier context.xml dans le dossier META-INF ( je ne sais pas si c ça ce que je dois faire) parcque ma declaration de ma datasource ne doit pas se faire dans le fichier server.xml avec tomcat5.

    -dans le fichier context.xml j'ai mis :
    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
     
    <Context path="/dal2" 
    	reloadable="true" 
    	docBase="D:\dal2" >
    	<Resource
    		name="jdbc/DbAccess"
    		auth="Container"
    		type="javax.sql.DataSource"/>
    	<ResourceParams name="jdbc/DbAccess">
    		<parameter>
    			<name>username</name>
    			<value>root</value>
    	 	</parameter>
    		<parameter>
    			<name>password</name>
    			<value>pass83</value>
    		</parameter>
    	 	<parameter>
    			<name>driverClassName</name>
    			<value>com.mysql.jdbc.Driver</value>
    	 	</parameter>
    		<parameter>
    			<name>url</name>
    			<value>jdbc:mysql://localhost:3306/dal</value>
    		</parameter>
    	</ResourceParams>		 
    </Context>
    Puis dans le fichier web.xml j'ai :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <web-app>
      <display-name>Struts Blank Application</display-name>
     
      <!-- Standard Action Servlet Configuration -->
      <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>
        <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>
     
       <!-- Standard datasources -->
     
    	<servlet>
    		<servlet-name>DbAccess</servlet-name>
    		<servlet-class>ma.ac.dal.bd.DbAccess</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>DbAccess</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    	<resource-ref>
    		<description>
    			reference a la ressource BDD pour le pool
    		</description>
    		<res-ref-name>jdbc/DbAccess</res-ref-name>
    		<res-type>javax.sql.DataSource</res-type>
    		<res-auth>Container</res-auth>
    	</resource-ref> 
     
     
     
     
      <!-- The Usual Welcome File List -->
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
     
    </web-app>
    et dans l'application j'ai créé une classe DbAccess contenant :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     
    package ma.ac.dal.bd;
     
    import java.sql.Connection;
    import java.sql.SQLException;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.sql.DataSource;
     
    public class DbAccess {
    	public DataSource ds;
    	Connection con=null;
     
      private static 	DbAccess		instance	= new DbAccess();
     
     
    	public DbAccess() {
    		try {
    			//récupération de la source de donnée
    			Context initCtx = new InitialContext();
    			ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/DbAccess");
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
     
    	}
    	public  Connection getConnection() {
    		try {
    			this.con=ds.getConnection();
    			System.out.println("on ouvre la connection");
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return con;
    	}
     
    	public static DbAccess getInstance() {
    		return instance;
    	}
     
    }
    et dans mon action J'ai fait un test :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    package ma.ac.dal.actions;
     
    import java.io.IOException;
    import java.sql.Connection;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import ma.ac.dal.bd.DbAccess;
    import ma.ac.dal.beans.LoginForm;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.config.FormBeanConfig;
     
    public class LoginAction  extends Action {
    	private 		Connection		connection	= null;
     
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws IOException,ServletException {
    //			 on a un formulaire valide, sinon on ne serait pas arrivé là
     
     
     
    			LoginForm formulaire=(LoginForm)form;
     
    		connection=DbAccess.getInstance().getConnection();
     
     
    			return mapping.findForward("success");
     
    			}
    	}
    Enfin j'obtien cettre erreur :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    24 sept. 2007 01:44:09 org.apache.struts.chain.ComposableRequestProcessor init
    INFO: Initializing composable request processor for module prefix ''
    24 sept. 2007 01:44:09 org.apache.struts.chain.commands.servlet.CreateAction createAction
    INFO: Initialize action of type: ma.ac.dal.actions.LoginAction
    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)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
    	at ma.ac.dal.bd.DbAccess.getConnection(DbAccess.java:29)
    	at ma.ac.dal.actions.LoginAction.execute(LoginAction.java:32)
    	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.doPost(ActionServlet.java:462)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.sql.SQLException: No suitable driver
    	at java.sql.DriverManager.getDriver(Unknown Source)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
    	... 28 more
    S'il vous plait,comment puis je résoudre ce problème ?

    Je ne sais pas si ça vient du dossier META-INF que j'ai créé dans le dossier de l'application "D/:dal2". Je ne sais pas si comme ça que e devais procéder.

    Je vous ai expliqué tt ce que j'ai fait .

    Merci de m'aider.

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut
    Comme autre indication le fichier "mysql-connector-java-5.0.5-bin" est placé dans le dossier WEB-INF/lib

    Merci de m'aider, j'ai vraiment besoin d'établir la connexion et je suis bloquée

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut
    Aucune idée !!!!

  4. #4
    Membre expérimenté Avatar de CaptainCyd
    Inscrit en
    Avril 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Avril 2007
    Messages : 201

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut
    Merci pour votre réponse.
    J'ai dèja vu ces liens, mais e ne sais pas c quoi le problème.

    Je ne sais pas si j'ai commis une erreur dans la configuration que je vous ai détaillé.

  6. #6
    Membre expérimenté Avatar de CaptainCyd
    Inscrit en
    Avril 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Avril 2007
    Messages : 201
    Par défaut
    est-ce que tu peux poster aussi ton fichier server.xml ?

    Est-ce que tu as aussi le driver jdbc pour attaquer une base access ?
    car avec ce message :
    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
    Il ne connait pas le driver pour attaquer ta bd access et il n'a pas récupéré non plus le non de ton datasource

Discussions similaires

  1. problemes de pool de connexion avec Oracle 8
    Par lunatix dans le forum Glassfish et Payara
    Réponses: 5
    Dernier message: 25/04/2007, 17h15
  2. [pool de connexion] avec mysql et eclipse
    Par Invité dans le forum Servlets/JSP
    Réponses: 16
    Dernier message: 15/02/2007, 15h02
  3. Problème de connexion avec Tomcat
    Par Mengué georges dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2007, 09h03
  4. Pool de connexion avec struts
    Par vikrem dans le forum Struts 1
    Réponses: 6
    Dernier message: 27/08/2006, 23h25
  5. Pool de connexion avec Tomcat 5.5
    Par partyboy dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 13/06/2005, 16h33

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