Boujours tout le monde!!
En réalité mon probleme est un peu étonant!!! je vais essayer de le résumer.
J'ai écris une applet "interfa.java" qui fait appel a une autre applet "welcom.java". l'applet "interfa.java" contient deux champ (User et mot de passe) et elle consulte la base de donnée pour une identification et charge l'interface de "welcom.java". mais le probleme est que quant je lance l'applet "welcom.java" avec un navigateur elle ne s'affiche pas et lance l'exception suivante :
le probleme qui me fait sauter la tête est que quant je lance l'applet "welcom.java" avec appletviewer elle se lance le plus normalement des choses, mais quant je la lance avec un navigateur (Internet explorer ou firefox) elle ne se charge pas et elle lance l'exception ci-dessus.
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 java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPackageAccess(Unknown Source) at sun.applet.AppletSecurity.checkPackageAccess(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at CMA.enligne(CMA.java:102) at welcom.init(welcom.java:63) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Exception in thread "thread applet-welcom.class" java.lang.NullPointerException at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source) at sun.plugin.AppletViewer.showAppletException(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Voici le code d'une classe interne de la classe welcom.java qui fait la consultation de la base de données :
(est pour JTable.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part AbstractTableModel
Voici le code d'une classe interne dans l'applet "interfa.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
96
97
98
99
100
101
102
103
104
105 class trmrec extends AbstractTableModel { ResultSet rs; String url = "jdbc:odbc:om"; Connection con; Statement stmt; public trmrec() { System.out.println("Avant getparameter"); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("serveur connecté"); } catch(java.lang.ClassNotFoundException e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage()); } try { con = DriverManager.getConnection(url, "om", "om"); stmt = con.createStatement(); } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } boite_reception(); } public int getColumnCount() { return nomcolrec.size(); } public int getRowCount() { return donneerec.size(); } public String getColumnName(int col) { return nomcolrec.get(col).toString(); } public Object getValueAt(int row, int col) { ArrayList ret; ret=(ArrayList)donneerec.get(row); return ret.get(col); } public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } public void boite_reception() { String query = "select * from om.message where rec='MADIHA3'"; System.out.println("Debut de la fonction ajout ligne"); donneerec=new ArrayList(); nomcolrec.add("Expéditeur"); nomcolrec.add("Objet"); nomcolrec.add("Date d'envoi"); try { int j=0; rs = stmt.executeQuery(query); while (rs.next()) { ArrayList elem=new ArrayList(); elem.add(rs.getString(2));//rs.getInt(1); elem.add(rs.getString(4)); elem.add(rs.getString(6)); System.out.println("les message ! "+elem.get(1)); fireTableRowsInserted(getRowCount(),getRowCount() ); donneerec.add(elem); j++; } stmt.close(); con.close(); } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } } public boolean isCellEditable(int row, int col) { if (col < 2) { return false; } else { return true; } } }
Merci de m'aider, car pour le moment je travail avec appletviewer mais apres je dois travailler avec des navigateur!!!!!
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 class identifier extends Thread {private Socket socket; private BufferedReader in; private PrintWriter out; private String user,psw; public identifier(InetAddress addr, String user1, String psw1) { user=user1; psw=psw1; try { socket =new Socket(addr, ecouteur.PORT); } catch(IOException e) { System.err.println("Socket failed"); } try { in =new BufferedReader(new InputStreamReader(socket.getInputStream())); out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true); start(); } catch(IOException e) { try { socket.close(); } catch(IOException e2) { System.err.println("Socket not closed"); } } } public void run() { out.println(user); System.out.println(user); try {System.out.println("Essai de récupération des résultats"); String retour=in.readLine(); URL welcom; if(retour.equals("ok")) { System.out.println("C'est ok!!!"); attendre="ok"; } else {System.out.println("C'est pas ok!!!"); //out.println("ko"); attendre="ko"; } } catch (IOException ex) { ex.printStackTrace(); } finally {try { socket.close(); } catch(IOException e2) { System.err.println("Socket not closed"); } } } }![]()
Partager