java.sql.SQLException: No suitable driver found for jdbc:postgresql://sirocco:5432/sl
Bonjour
Je suis en train de développer sous netbeans une servlet qui fait (entre autres) une requête dans une base de données.
J'ai donc développé la fonction suivante, dont j'ai un juste un peu modifié certains noms, genre le password :mrgreen: :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public String getTable(String requete)
throws ServletException, IOException, SQLException {
String url ="jdbc:postgresql://sirocco:5432/slim";
String username="amelie";
String password="poulain";
String ret=" ";
Connection db = DriverManager.getConnection(url, username, password);
Statement st = db.createStatement();
ResultSet rs = st.executeQuery(requete);
while (rs.next()) {
//System.out.print("Column 1 returned ");
//System.out.println(rs.getString(1));
ret+=rs.getString(1);
}
rs.close();
st.close();
return ret;
} |
Bon donc pour l'instant tout ce que fait ma servlet, c'est afficher "Hello World", et j'aimerai bien que le out.println du return de cette fonction s'affiche aussi.
L'application se compile sans problèmes, sauf que j'ai le problème suivant :
Code:
1 2
| Non-existing path "/home/aldian/WebApplication3/${ws.debug.classpaths}" provided.
Non-existing path "/home/aldian/WebApplication3/${ws.web.docbase.dirs}" provided. |
Ca c'est qu'en je run en mode debugger. Je vais éditer pour mettre ce que ça fait en mode normal, je poste d'abord car j'ai peur que l'ordi gèle.
Bon donc en mode normal, dans la fenêtre de apache tomcat 6.0.16, il y a l'erreur suivante :
Code:
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
| Jun 2, 2008 6:06:43 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
java.sql.SQLException: No suitable driver found for jdbc:postgresql://sirocco:5432/slim
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at Test.getTable(Test.java:86)
at Test.processRequest(Test.java:39)
at Test.doGet(Test.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:694)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:665)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:68)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619) |
Et pourtant quand j'utilise netbeans pour faire des requêtes dans la BDD, pas de problème. Quelqu'un pourrait-il me dire comment me dépatouiller de ce truc svp?
Edit : j'ai cherché partout sur le net, et j'ai trouvé des gens qui avaient le même problème que moi, apparemment il y a deux solutions, ajouter le PATH vers le fichier postgresql.jar dans l'utilitaire de configuration, ou encore ajouter directement l'archive dans le bon dossier.
Sauf que sans plus de précisions, je suis toujours aussi perdu :(