voila Monsieur
Pièce jointe 211004
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
Version imprimable
voila Monsieur
Pièce jointe 211004
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
Pièce jointe 211006
et voile l'URL
Pièce jointe 211007
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 ?
j'ai pas compri ta solution
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 connexionCode:
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 IntervenantCode:
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 StackTraceCode:
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:
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:at com.intervention.jsf.dao.LoginDAO.validate(LoginDAO.java:20)
je m'obstine pas :( je 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
Pièce jointe 211155Code:
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
Pièce jointe 211156
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, 09h39Citation:
et 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.Citation:
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:
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. */ }
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
Oui effectivement :)