Bonsoir tout le monde,
je fait appel à vous car me voilà face à une erreur que je n'arrive pas à résoudre.
Après maintes recherches, je ne trouve que des pistes vers le classpath etc, mais je ne comprends pas pourquoi je devrais modifier quoi que ce soit dans le classpath, vu que mes autres projets sous eclipse fonctionnent.
Voilà mon pb:
J'ai créé un web dynamic project avec des servlets. Dans ma servlet Login, je fais appel à la méthode userExist() qui appartient à la classe UserInfo qui se trouve dans un autre projet java non dynamique cette fois et là bim erreur: java.lang.ClassNotFoundException. Pourtant, j'ai fais les import qu'il fallait et ajouté dans le build path du projet java dynamique le second projet java, celui qui contient la méthode userExist().
De plus, quand je compile seulement le projet java tout court, et que j’exécute la méthode userExiste() dans le main du projet où il a été défini, ça fonctionne.
Voilà un bout du code de la servlet Login, dans laquelle je fais appel à la methode userExist():
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 package com.servlets; import com.WSC.client.UserInfo; [...] protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String email = req.getParameter("email"); String password = req.getParameter("pass"); String userFirstname; String userLastname; String adminName; System.out.println(email + " " + password); UserInfo userInfo = new UserInfo(); String response = userInfo.userExist(email, password); if(response.equals("ok")) { userInfo.userExist(email, password); resp.sendRedirect(req.getContextPath()+ "/userAuth/userSpace"); }else{ RequestDispatcher rd = req.getRequestDispatcher("/login.jsp"); rd.forward(req, resp); }
Et voici la classe UserInfo qui se trouve dans un autre projet java:
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
91
92
93
94
95 package com.WSC.client; import java.io.StringReader; import javax.json.Json; import javax.json.stream.JsonParser; import javax.ws.rs.core.MediaType; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.UniformInterfaceException; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.config.ClientConfig; import com.sun.jersey.api.client.config.DefaultClientConfig; public class UserInfo { public static final String BASE_URI = "http://localhost:8080/"; public static String resp; public String userExist(String email, String pass){ ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource resource = client.resource(BASE_URI); WebResource nameResource = resource.path("api").path("user/" + email + "/" + pass); try{ System.out.println("Client Response \n" + getClientResponse(nameResource) + "\n\n"); System.out.println("Response \n" + getResponse(nameResource) + "\n\n"); handleParsing(getResponse(nameResource)); resp ="ok"; System.out.println(resp); } catch(UniformInterfaceException e){ resp = "not ok"; System.out.println(resp); } return resp; } private static String getClientResponse(WebResource resource) { return resource.accept(MediaType.APPLICATION_JSON).get(ClientResponse.class) .toString(); } private static String getResponse(WebResource resource) { return resource.accept(MediaType.APPLICATION_JSON).get(String.class); } private static void handleParsing(String json){ JsonParser jsonParser = Json.createParser(new StringReader(json)); while(jsonParser.hasNext()){ switch(jsonParser.next()){ case START_OBJECT: System.out.println("Start_object"); break; case END_OBJECT: System.out.println("End_object"); break; case START_ARRAY: System.out.println("Start_array"); break; case END_ARRAY: System.out.println("End_array"); break; case KEY_NAME: System.out.println("Key_name " + jsonParser.getString()); break; case VALUE_STRING: System.out.println("Value_string " + jsonParser.getString()); break; case VALUE_NUMBER: System.out.println("Key_name " + jsonParser.getInt()); break; } } } }
Voilà, j'espère avoir été un peu claire, si quelqu'un pouvait m'aider ce serait super.
Merci!!!!!!
Partager