0

データベースに接続するには: 1.-データ接続を配置するクラス conexionX を作成します (接続プールなし) 2.-DAO クラスで、データベースを操作するために、conexionX クラスから接続を取得します。

私の質問は、接続プールでそれを行うにはどうすればよいですか?

以下を試しましたが、うまくいきません

プール接続.java

サーブレットは通常のクラスではありません

package Modelo;

import java.sql.*;
import javax.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

public class PoolConexiones extends HttpServlet {

    private  DataSource sourceDb = null;
    private  Connection con=null;
    @Override
    public void init(ServletConfig config) throws ServletException {
        // TODO Auto-generated method stub
        super.init(config);

        try {
            // recuperamos el contexto inicial y la referencia a la fuente de
            // datos
            Context ctx = new InitialContext();
            sourceDb = (DataSource) ctx.lookup("java:comp/env/jdbc/Practica5");
        } catch (Exception e) {
            throw new ServletException(
                    "Imposible recuperar java:comp/env/jdbc/tutoriales", e);
        }
    }

    public  Connection getConnection() {

        try {
            synchronized (sourceDb) {
                con=sourceDb.getConnection();
            }
            if(con==null){
                  throw new ServletException("Problemas con la conexion");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ServletException e) {


    // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return con;
}
public void CerraConexion(){

    try {
        con.close();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}

4

0 に答える 0