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

Tomcat et TomEE Java Discussion :

pool de connexion


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Par défaut pool de connexion
    Bonjour,

    J'ai besoin de faire une gestion de pool de connexion avec mysql server et j'ai utilisé la procédure telle qu'elle est dans l'url http://christophej.developpez.com/tu...ee/pooltomcat/
    lorque je lance la page web rien ne se passe, je ne sais pas faire marcher le code.

    voila ce que j'ai fait : j'ai crée un nouveau projet que j'ai nommé tutorial + package tutorial et j'ai recopié le code :

    NB : j'ai une table ringing

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    package tutorial;
    import java.io.*;
    import java.sql.*;
    import javax.naming.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.sql.*;
    public class TutoPool extends HttpServlet {
    	private DataSource ds; //la source de données
    	protected void doGet(
    		HttpServletRequest request,
    		HttpServletResponse response)
    		throws ServletException, IOException {
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    		out.println("<html><head></head>");
    		out.println("<body>");
    		Connection con=null;
    		Statement s=null;
    		ResultSet rs=null;
    		try {
    			//récupération de la Connection depuis le DataSource
    			con = ds.getConnection();
    			s = con.createStatement();
    			rs = s.executeQuery("SELECT * FROM ringing");
    			while (rs.next()) {
    				out.println(rs.getString(1) + "      ");
    				out.println(rs.getString(2) + "<br/>");
    			}
    		} catch (SQLException e) {
    			response.sendError(500, "Exception sur l'accès à la BDD " + e);
    		}finally {
    			if (rs != null)
    			{
    				try {
    					rs.close();
    				} catch (SQLException e) {}
    				rs = null;
    			}
    			if (s != null) {
    				try {
    					s.close();
    				} catch (SQLException e) {}
    				s = null;
    			}
    			if (con != null) {
    				try {
    					con.close();
    				} catch (SQLException e) {}
    				con = null;
    			}
    		}
    		out.println("</body>");
    		out.println("</html>");
    		out.close();
    	}
    	public void init() throws ServletException {
    		try {
    			//récupération de la source de donnée
    			Context initCtx = new InitialContext();
    			ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/TutoPool");
    		} catch (Exception e) {
    			throw new UnavailableException(e.getMessage());
    		}
    	}
    }
    puis j'ai mis dans web.xml sous /WEB-INF:

    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    	xmlns="http://java.sun.com/xml/ns/j2ee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     
    <display-name>TutoPool</display-name> 
    	<servlet>
    		<servlet-name>TutoPool</servlet-name>
    		<servlet-class>tutorial.TutoPool</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>TutoPool</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    	<resource-ref>
    		<description>
    			reference a la ressource BDD pour le pool
    		</description>
    		<res-ref-name>jdbc/TutoPool</res-ref-name>
    		<res-type>javax.sql.DataSource</res-type>
    		<res-auth>Container</res-auth>
    	</resource-ref> 
     
    </web-app>

    et j'ai ajouté le bloc suivant dans le fichier server.xml dans le chemin C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf
    avant </HOST>
    Code xml : 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="/TutoPool" 
    	reloadable="true" 
    	docBase="\TutoPool" >
    	<Resource
    		name="jdbc/TutoPool"
    		auth="Container"
    		type="javax.sql.DataSource"/>
    	<ResourceParams name="jdbc/TutoPool">
    		<parameter>
    			<name>username</name>
    			<value>UserCusto</value>
    	 	</parameter>
    		<parameter>
    			<name>password</name>
    			<value>UserCusto</value>
    		</parameter>
    	 	<parameter>
    			<name>driverClassName</name>
    			<value>com.mysql.jdbc.Driver</value>
    	 	</parameter>
    		<parameter>
    			<name>url</name>
    			<value>jdbc:mysql://localhost:3306/custo_db</value>
    		</parameter>
    	</ResourceParams>		 
    </Context>
    j'ai redeployé le projet -> génération .war et lancé : http://localhost:8080/TutoPool/
    il m'affiche : La ressource demandée (/TutoPool/) n'est pas disponible.
    Est ce que qlq'un peut m'aider sur ce sujet, c'est urgent.
    merci de votre aide.

  2. #2
    Membre expérimenté Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Par défaut
    Quel est ta racine de contexte ?

  3. #3
    Membre confirmé Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Par défaut
    As-tu essayé de placer le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    			//récupération de la source de donnée
    			Context initCtx = new InitialContext();
    			ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/TutoPool");
    dans la méthode "doGet" au lieu de init ?

    As-tu placé le driver mySql dans le repertoire /common/lib de tomcat ?

Discussions similaires

  1. Pool de connexion
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/10/2004, 14h20
  2. [TOMCAT] pool de connexion postgres
    Par kitov dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 04/06/2004, 16h13
  3. [WSAD] [POOL de CONNEXION]
    Par gandia dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/05/2004, 18h22
  4. [EJB]JBoss et Pool de connexion
    Par Kleb dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 20/04/2004, 12h12
  5. [tomcat 4.1] [oracle] Pool de connexion
    Par Franco dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 23/09/2003, 00h42

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