JDBC/prostgreSQL

TaKtOuK541 Messages postés 97 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 26 octobre 2010 - 27 janv. 2010 à 23:44
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 28 janv. 2010 à 12:29
Bonjour,j'arrive pas a cree une connection entre JDBC et postgreSQL, j'ai cree corectement ma base,les table aussi j'ai ajouter le driver au CLASSPATH de mon projet sous netbeans mais la connection ne s'etablie pas et tomcat m'affiche ce message:

La mï¿œthode HTTP spï¿œcifiï¿œe n'est pas autorisï¿œe pour la ressource demandï¿œe
(La mï¿œthode HTTP GET n''est pas supportï¿œe par cette URL).
et voila la classe connexion.java:

package metier;

import java.sql.*;

public class Connexion {

    private Connection cnx;

    public Connexion(){
        try{
            Class.forName("org.postgresql.Driver");

String url = "jdbc:postgresql://localhost:5432/ecole";
String user = "postgres";
String passwd = "mdp";
            cnx = DriverManager.getConnection(url, user, passwd);
        }
        catch(Exception e){

        }

    }

    public Connection getCnx() {
        return cnx;
    }

}


et voila ma servlet servl.java pour recupere les donnes:
package servlets;

import java.io.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.*;
import javax.servlet.http.*;
import metier.*;


public class servl extends HttpServlet {

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {



            Connexion laConnexion = new Connexion();
            if(laConnexion != null){
                try{
                    Statement stmt = laConnexion.getCnx().createStatement();
String requete="select * from classe";
            

            ResultSet rs;
            rs = stmt.executeQuery(requete);
while(rs.next()){
 System.out.println("l'id est:"+rs.getInt("cls_id")+"
le nom est:"+rs.getString("cls_nom")+"
");
                    }

                }
                catch(SQLException e){
                    System.out.println("erreur1");
                }
            }
            else{
                System.out.println("erreur2");
            }


    }
}

c'est quoi la problemme d'apres vous

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
28 janv. 2010 à 08:28
Salut,

Je te conseille de faire un e.printStackTrace dans tes catch, comme cà au moins tu sauras d'om vient l'erreur !
try{
            Class.forName("org.postgresql.Driver");

String url = "jdbc:postgresql://localhost:5432/ecole";
String user = "postgres";
String passwd = "mdp";
            cnx = DriverManager.getConnection(url, user, passwd);
        }
        catch(Exception e){
          e.printStackTrace();
        }


C'est très certainement dû à ton driver qui n'a pas été déployé sur ton serveur tomcat...
______________________________________
DarK Sidious
0
TaKtOuK541 Messages postés 97 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 26 octobre 2010
28 janv. 2010 à 11:51
Voila j'ai essayer sur une page jsp mais j'ai garder la meme classe connexion.java et tout s'arrette au niveau du Statement.meme le message d'erreur s'affiche pas. et voila la resultat:
connection sava


connexion.java
package metier;
import java.sql.*;
public class Connexion {
    private Connection cnx;
 
    public Connexion(){
        try{
            Class.forName("org.postgresql.Driver");
 
String url = "jdbc:postgresql://localhost:5432/ecole";
String user = "postgres";
String passwd = "mdp";
            cnx = DriverManager.getConnection(url, user, passwd);
        }
        catch(Exception e){
        e.printStackTrace();

        }
 
    }
    public Connection getCnx() {
        return cnx;
    }
}

page.jsp
body>
           <%
 Connexion laConnexion = new Connexion();
 if(laConnexion!=null){
 String requete="select * from classe";
 out.println("connection sava
");
 try{
 Statement stmt=laConnexion.getCnx().createStatement();
  out.println("stmt sava
");
ResultSet rs;
rs = stmt.executeQuery(requete);
while(rs.next()){
 out.println("l'id est:"+rs.getInt("cls_id")+"
le nom est:"+rs.getString("cls_nom")+"
");
         }}catch(Exception e){
 e.printStackTrace();
}
 }
 else
     out.println("erreur connection");

pour le driver je l'ai mis sous "Properties"=>Libraries=>run test=>add JAR/folder
et voila le driver que j'utilise:
postgresql-8.4-701.jdbc4.jar
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
28 janv. 2010 à 12:29
Salut,

Aïe aïe aïe : respecte la règle d'or : PAS DE CODE JAVA DANS UNE JSP !!!

Tu verras c'est bien plus facile à débuguer !

Quel intérêt de mettre du code java dans un jsp ??? C'est pas du tout fait pour cà, c'est illisible, immaintenable, et ca t'empêche d'utiliser des outils de qualité de code (profiling, tests, code coverage, etc).
______________________________________
DarK Sidious
0