Bonjour,
J'utilise JBuilder2005 et java 1.5
J'ai créé un AccesFactory qui grace à un fichier "properties" connait les implentation de l'interface IAcces. Lorsque j'utilise ma factory en ligne de commande dans un programme simple tous marche comme il faut mais des que j'essaye mon code dans mon apllication web, il me sort une erreur : il ne trouve pas la classe qui sert d'implentation.
Voici ma factory :
Aussi je voudrais savoir si queulqu'un peux m'aider.
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 public static IAcces getAcces(String typeBase, String nomServeur, String nomBase, String utilisateur, String motDePasse) throws ICUException { int i, nombre; Properties props; Object acces; Class classe; props = new Properties(); try { props.load(AccesFactory.class.getResourceAsStream( "/properties/bd.properties")); } catch (IOException ex) { } nombre = Integer.valueOf(props.getProperty("bd.nombre")).intValue(); for (i = 0; i < nombre; i++) { if (typeBase.equals(props.getProperty("bd." + i + ".nom"))) { break; } } if (i < nombre) { try { classe = Class.forName(props.getProperty("bd." + i + ".implementation")); } catch (ClassNotFoundException ex) { System.out.println("Classe non trouvé : " + ex.getMessage()); // <--- c'est ici qu'arrive l'erreur. classe = null; } if (classe == null) { acces = null; } else { try { acces = classe.newInstance(); } catch (IllegalAccessException ex) { System.out.println("Acces Illégal : " + ex.getMessage()); acces = null; } catch (InstantiationException ex) { System.out.println("Erreur lors de l'instantiation : " + ex.getMessage()); acces = null; } } if (acces != null) { ((IAcces) acces).enregistrementParametre(nomServeur, nomBase, utilisateur, motDePasse); } return (IAcces) acces; } else { throw new ICUException("0003"); } }
Partager