JDBC PostgreSQL

Résolu/Fermé
Heriniaina1905 Messages postés 8 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 29 janvier 2021 - Modifié le 26 août 2020 à 09:16
Heriniaina1905 Messages postés 8 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 29 janvier 2021 - 26 août 2020 à 10:41
Hello world! J'ai un petit soucis en login sur j2e, j'ai un method qui retourne un objet de type Users, en executant le main, tout va a merveille, mais l'execution en de l'application web, le method doPost de mon servlet releve des exceptions:

java.lang.ClassNotFoundException: org.postgresql.Driver
java.lang.NullPointerException
SELECT * FROM Users WHERE idUsers=1 AND pass=MD5('1234Azerty$')
 at services.dao.General.select(General.java:42)
 at services.models.LoginModel.login(LoginModel.java:15)
 at controllers.Login.doPost(Login.java:56)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.base/java.lang.Thread.run(Thread.java:832)
java.lang.NullPointerException
 at services.dao.Connexion.clear(Connexion.java:37)
 at services.models.LoginModel.login(LoginModel.java:22)
 at controllers.Login.doPost(Login.java:56)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.base/java.lang.Thread.run(Thread.java:832)

1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
26 août 2020 à 09:22
Bonjour,

Je dirais que le jar du driver n'est pas dans le classpath du serveur, tu l'as probablement ajouté manuellement dans ton IDE et c'est pour ça que le main() fonctionne mais une fois dans le serveur cette configuration n'est plus prise en compte.

Selon de quel serveur on parle et de la manière dont il est démarré il peut y avoir plusieurs façons de résoudre le problème, de manière générale je dirais que le jar du driver devrait être embarqué dans le war de l'application.
0
Heriniaina1905 Messages postés 8 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 29 janvier 2021
26 août 2020 à 09:42
J'utilise eclipse, et tomcat 9 pour le serveur, c'est mon 2eme projet avec un IDE parcequ'avant je n'utilisait que VS Code, et je compilait manuellement alors, Eclipse est encore nouveau pour moi, ... Et comment l'embarquer dans le war?
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019 > Heriniaina1905 Messages postés 8 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 29 janvier 2021
26 août 2020 à 10:13
Un war c'est juste un fichier zip (comme un jar d'ailleurs) tu peux le décompresser et le recompresser avec n'importe quel outil (7zip, WinRar...)

Il faut mettre le jar dans le dossier WEB-INF/lib
0
Heriniaina1905 Messages postés 8 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 29 janvier 2021
Modifié le 26 août 2020 à 10:37
D'accord! Je vais le faire. Merci :-)
0
Heriniaina1905 Messages postés 8 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 29 janvier 2021
26 août 2020 à 10:41
Je vous remercie, maintenant, ca marche :-)
0