voila Monsieur
je fait copier coller a ce nom sur l'image
pouvez vous me dire ce que je dois écrire exactement dans l'URL ?
ma base de donnée d'appelle : gestion_intervention
le port est : 1433
voila Monsieur
je fait copier coller a ce nom sur l'image
pouvez vous me dire ce que je dois écrire exactement dans l'URL ?
ma base de donnée d'appelle : gestion_intervention
le port est : 1433
Et puis j'ai essayer de configurer la Connexion SQLserver-Eclipse via un outil (SQL Explorer )
et voila l'erreur qu'il me retourne quand je clique sur connect
et voile l'URL
![]()
il y a un \ en trop dans ta dernière dialog et un espace derrière le ; (je ne sais pas si ça pose problème, jamais vu d'espace dans une url jdbc)
le nom sur ta première image est un nom complet de la db que donne SQLExpress, ta connexion jdbc ne demande que le nom d'hote et le nom de la DB, donc ca deviens à priori localhost\SQLEXPRESS
Ensuite si ton code déconne toujours, donne la stacktrace et le code actuel.
Juste une petite question ?
D'après ce que j'ai vu tu n'arrives pas a établir une connexion avec la base de données.
Pourquoi ne pas simplement importer les pilotes JDBC pour SQL Serveur dans ton projet et établir la connexion à la DB par l'API persistence ?
ouais enfin si tu passe à mysql, l'url et le driver sont différent, donc si t'es passé à mysql et que t'as des soucis, donne ton code et l'exception.
Persistence est une API intégrée qui te permet de gérer entièrement la base de données (connexion, sauvegarde des données, etc...)
Je ne sais pas si le modèle (MCV) te parles ? Modèle-Contrôleur-Vue.
Modèle => Gestion des informations dans la base de données
Contrôleur => Validation des données, synchronisation, etc...
Vue => Interface utilisateur, généralement les fichiers xhtml
Voici un lien vers un site qui t'explique tout : https://docs.jboss.org/hibernate/orm...orial-jpa.html
En français : http://jmdoudoux.developpez.com/cours/developpons/java/
Celà devrait t'aider
Mr. Tchize
la meme exception : NullPointerException ca deviens vraiment agaçant xD
voici mon code
class LoginDAO
classe connexion
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 package com.intervention.jsf.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.intervention.jsf.util.Connexion; public class LoginDAO { public static String validate(String user, String password) throws SQLException { Connection con = null; PreparedStatement ps = null; String type="Undefined"; con = Connexion.connexion(); ps = con.prepareStatement("Select LOGIN, PASSWORD,TYPE from INTERVENANT where LOGIN = ? and PASSWORD = ?"); ps.setString(1, user); ps.setString(2, password); ResultSet rs = ps.executeQuery(); if (rs.next()) { type=rs.getString(3); return type; } return type; } }
classe Intervenant
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 package com.intervention.jsf.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Connexion { public static Connection connexion(){ Connection conn1 = null; try { // connect way #1 String url1 = "jdbc:mysql://localhost:3306/gestion_intervention"; String user = "root"; String password = ""; conn1 = DriverManager.getConnection(url1, user, password); if (conn1 != null) { System.out.println("Connected to the database test1"); } }catch (SQLException ex) { ex.printStackTrace(); } return conn1; } }
et enfin le StackTrace
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 package com.intervention.jsf.beans; import java.io.Serializable; import java.sql.SQLException; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.servlet.http.HttpSession; import com.intervention.jsf.dao.LoginDAO; @ManagedBean @SessionScoped public class intervenant implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private int id_intervenant; private String login; private String password; private String type; public int getId_intervenant() { return id_intervenant; } public void setId_intervenant(int id_intervenant) { this.id_intervenant = id_intervenant; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getType() { return type; } public void setType(String type) { this.type = type; } public intervenant(int id_intervenant, String login, String password, String type) { super(); this.id_intervenant = id_intervenant; this.login = login; this.password = password; this.type = type; } public intervenant() { super(); } public String validateUsernamePassword() throws SQLException { String test=null; String valid = LoginDAO.validate(login, password); if (valid.equals("admin")) { HttpSession session = SessionBean.getSession(); session.setAttribute("username", login); test="admin"; } else if (valid.equals("intervenant")) { HttpSession session = SessionBean.getSession(); session.setAttribute("username", login); test= "intervenant"; } else if(valid.equals("false")) { HttpSession session = SessionBean.getSession(); session.setAttribute("username", login); test= "fail"; } return test; } //logout event, invalidate session public String logout() { HttpSession session = SessionBean.getSession(); session.invalidate(); return "login"; } }
D'ou viens ce Null ??? je comprend vraiment pas :/
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 javax.faces.el.EvaluationException: java.lang.NullPointerException at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) at javax.faces.component.UICommand.broadcast(UICommand.java:315) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) at com.intervention.jsf.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at com.intervention.jsf.dao.LoginDAO.validate(LoginDAO.java:20) at com.intervention.jsf.beans.intervenant.validateUsernamePassword(intervenant.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.sun.el.parser.AstValue.invoke(AstValue.java:289) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) ... 41 more
Ben de là
en l'occurence, con est null, il est null parce que tu t'obstine à retourner null au lieu de lancer une exception quand tu n'arrive pas à établir ta connexion. Quand à la raison pour laquelle tu n'arrive pas à établir la connexion, voir la stacktrace affichée par ta classe Connexion et que tu ne nous a pas fournie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part at com.intervention.jsf.dao.LoginDAO.validate(LoginDAO.java:20)
je m'obstine pasje suis juste super debutant xD
la StackTrace j'ai fais copier coller pour tout je sais pas comment vous donner celle de Connexion..
et puis comment faire pour lancer l'exception que vous venez de dire? je croi que dans mon code dans la classe Connexion j'ai lever l'exception sqlException, c pas comme ca qu'il faut faire?
Corrigez moi Monsieur svp
En fait ce que je veux faire dans ma Classe LoginDAO c'est le suivant :
je veux saparer les deux page Admin et intervant ( chaqu'un sa page )
donc quand je reccupère le username et le password avec select, je fait un test sur le 3eme champ qui est le type, s'il trouve que le type contiens "admin" il me retourn "admin" et s'il trouve "intervenant" il me retourne "untervenant" sinon s'il trouve type = "undifined" (qui est le valeur initial de type) alors il me retourne "Fail"
Et en fonction de ses retour j'ai une autre traitement qui ouvre les pages
tout ce qui' m'importe dans cette classe c'est les 3 retour sois Admin sois intervenant sois fail
voila le code qui ouvre les page
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 <?xml version='1.0' encoding='UTF-8'?> <faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> <navigation-rule> <from-view-id>/login.xhtml</from-view-id> <navigation-case> <from-outcome>admin</from-outcome> <to-view-id>/admin.xhtml</to-view-id> </navigation-case> <navigation-case> <from-outcome>intervenant</from-outcome> <to-view-id>/success.xhtml</to-view-id> </navigation-case> <navigation-case> <from-outcome>fail</from-outcome> <to-view-id>/failure.xhtml</to-view-id> </navigation-case> </navigation-rule> </faces-config>
et ma BDD
![]()
Elle est là où tu l'a affichée avec printStackTrace(), dans la console.
De la même manière que tu l'as fais dans ton post du 27/05/2016, 09h39et puis comment faire pour lancer l'exception que vous venez de dire?
Tu n'a pas levé d'exception, la seule SQLException concernée tu l'attrape, tu ne la lève pas.je croi que dans mon code dans la classe Connexion j'ai lever l'exception sqlException, c pas comme ca qu'il faut faire?
Peut être une erreur de ma part mais je ne vois nulle part la déclaration du pilote pour l'accès à la db
A moins que le pilote ne soit chargé par un autre moyen...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /* Chargement du driver JDBC pour MySQL */ try { Class.forName( "com.mysql.jdbc.Driver" ); } catch ( ClassNotFoundException e ) { /* Gérer les éventuelles erreurs ici. */ }
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Je me demande si ce n'est pas là l'erreur.
La db mysql à l'air d'être accessible puisque le PHPMyAdmin s'y connecte.
On peut supposer également que les credentials sont corrects.
La DB étant en local les soucis de firewall sont peut probables et dans un post précédent il dit avoir coupé son firewall.
Vérifier les pilotes me semble être l'étape suivante...
Même si en théorie c'est automatique... je vous laisse compléter :p
Partager