Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-11-2006, 21:44   #1
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
[JAVA]n-esima applet che non si carica

...per voi però, perchè per me è la prima...

ho fatto quest'oggi la mia prima applet ma purtroppo non riesco a visualizzarla nella pagina html a cui l'ho aggiunta.
Praticamente ho creato una classe AppletPanel extends JPanel, il cui costruttore mi "costruisce" un JPanel con alcuni JComponent aggiunti.
Dopodichè nella classe dell'applet (classe in cui c'è la public void init()) ho creato un'istanza di AppletPanel e l'ho aggiunta all'applet tramite la funzione add()...

Posto i codici:

applet
Codice:
package applet;

import appletPanel.Panel;
import javax.swing.*;

public class Applet extends JApplet 
{

	public void init()
	{
		Panel pannelloIscrizioni = new Panel();
		this.add(pannelloIscrizioni);
	}

}
HTML
Il file .html si trova nella stessa cartella in cui è sita Applet.class
Codice:
<html>
  <head>
     <title>Iscrizioni Dietisti</title>
  </head>
  <body>
     <applet code="Applet.class" width=200 height=200> </applet>
  </body>
</html>
avviando l'html vedo solamente una X rossa e un messaggio in basso a sinistra del browser che mi dice che è stato impossibile carica l'applet...

cosa devo fare? a me sembra tutto giusto, eppure...

grazie mille in anticipo
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 21:54   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da KNX
cosa devo fare? a me sembra tutto giusto, eppure...
Tutto giusto no .... hai usato un package di nome 'applet'. Quindi: (a) Il file .class deve stare sotto una directory di nome 'applet' (b) Nel file html devi mettere code="applet/Applet.class" (e ovviamente la directory applet deve stare nella stessa directory del html).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 22:37   #3
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Quote:
Originariamente inviato da andbin
Tutto giusto no .... hai usato un package di nome 'applet'. Quindi: (a) Il file .class deve stare sotto una directory di nome 'applet' (b) Nel file html devi mettere code="applet/Applet.class" (e ovviamente la directory applet deve stare nella stessa directory del html).
Ok ho fatto come mi hai detto, ho modificato l'HTML in questo:
<applet code="applet/Applet.class" width=200 height=200> </applet>

e si il file Applet.class si trova nella stessa directory (E:\Programmazione\Programmi Java\it.casa.form\applet) del file .html...

ho provato ma niente... sempre una X rossa, e la console Java dice:

----------------------------------------------------
caricamento: classe applet/Applet.class non trovata.
java.lang.ClassNotFoundException: applet.Applet.class
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: E:\Programmazione\Programmi Java\it.casa.form\applet\applet\Applet\class.class (Impossibile trovare il percorso specificato)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.http://www.protocol.file.FileURLConn...onnect(Unknown Source)
at sun.net.http://www.protocol.file.FileURLConn...Stream(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 10 more
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 09:45   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da KNX
e si il file Applet.class si trova nella stessa directory (E:\Programmazione\Programmi Java\it.casa.form\applet) del file .html...
No, è la directory 'applet' che deve stare nella stessa directory del file html!!! Cioè devi avere una cosa del tipo:
Codice:
<una directory>
  | 
  +-- file.html
  |
  +-- applet
        |
        +-- Applet.class
Inoltre c'è un'altra cosa importante: tu hai usato un altro package 'appletPanel' con dentro una classe 'Panel' (che suppongo abbia fatto tu). E questa classe/package dove l'hai messa???

Tieni presente una cosa importante: in Java i nomi e la struttura dei package si devono "riflettere" nella struttura delle directory!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 16:39   #5
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Ok scusa hai ragione ho rispostato l'.html dove mi hai detto tu e questa volta la Console Java ha sputato questo:

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 applet.InserimentoDB.<init>(InserimentoDB.java:28)
at appletPanel.Panel$2.<init>(Panel.java:101)
at appletPanel.Panel.<init>(Panel.java:99)
at applet.Applet.init(Applet.java:11)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

ti ringrazio per tutti i consigli e aiuti che mi stai fornendo...

Ecco così vedi com'è composto il tutto:

it.casa.form
|
|----> iscrizioni
| |
| |----> iscrizioni.mdb
|
|----> applet
| |
| |---->applet.class\.java
| |---->inserimentoDB.class\.java
|
|----> appletPanel
| |
| |----> Panel.class\.java
|
|----> Applet.html
__________________
...work in progress...

Ultima modifica di KNX : 02-11-2006 alle 16:47.
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 16:52   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da KNX
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
Ma nella tua applet stai cercando di fare qualcosa con i database??? Credo che, per i soliti motivi di sicurezza, qualcosa venga impedito.
Comunque leggi <qui>, parla proprio dell'uso di JDBC nelle applet.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 12:16   #7
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Allora ho spulciato il link (messo ampiamente tra preferiti ) e...

1)Dato che quando provo ad avviare l'Applet la Console Java mi dice

java.security.AccessControlException: access denied
(java.lang.RuntimePermission
accessClassInPackage.sun.jdbc.odbc )

2)ho fatto come scritto sul sito e cioè ho aperto il Policytool e aggiustato la Policy inserendo il permesso

grant {
permission java.lang.RuntimePermission
"accessClassInPackage.sun.jdbc.odbc";
};

3)Nonostante ciò continua a non aprirmisi e a darmi lo stesso messaggio di errore (la Console Java dico)

4)ho notato però che quando uso il Policytool nel momento in cui creo il nuovo permesso, ho la possibilità di specificare la classe.
Mi spiego con un esempio: accessClassInPackage.<nome package> questo è ciò che il Policytool mi dice, quindi ti chiedo: che package devo specificare quello contenente l'applet, quello contenente le direttive per la connessione al DB o quello contenente il DB stesso (che cmq in realtà nn è un package ma una cartella)?

grazie mille
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 12:25   #8
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
aspetta aspetta nuovo sviluppo:
ho dato all'applet il permesso per tutto e tramite l'appletviewer (specificando il nome del file policy) riesco a farla partire ma se apro il .html a cui è annessa ancora una X rossa e stesso messaggio di errore...

appletviewer -J-Djava.security.policy=lucapolicy Applet.html con questo parte
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 12:36   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Eh ... guarda, mi prendi un po' alla sprovvista perchè devo ammettere che delle questioni relative alla sicurezza in Java (policy, ecc...) ne so ancora poco.

Comunque una cosa so. Tu passi all'appletviewer un parametro. Questo però vale solo per l'appletviewer. Se vuoi che valga in generale per il runtime delle applet, devi andare in Pannello di controllo -> Java -> Impostazioni runtime applet Java e quindi impostare il parametro per il JRE.
A questo punto credo che valga per tutti i browser che usano quel JRE.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 16:58   #10
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Ne saprai anche poco ma c'hai preso in pieno .

Nella "Console Java", che puoi aprire quando parte il plug-in Java, in alto c'è scritto quale versione del JRE sia usata. Annotala, nel caso tu ne abbia più d'una.

Apri il pannello di controllo di Java, vai nella scheda Java, nella sezione "impostazioni runtime applet java" premi il pulsante "visualizza".

C'è una tabella con i nomi dei JRE installati. Individua quello corrispondente al JRE del plug-in (determinato attraverso la console Java), fai doppio click nella cella della colonna "Parametri runtime Java" e scrivi i valori necessari a caricare il tuo file policy. Occhio alla sintassi. Ad esempio:

Codice:
java -Djava.security.manager -Djava.security.policy=file:C:/aa aa/bb/cc cc/pgi.policy
C:/aa aa/bb/cc cc/pgi.policy sta per il percorso completo del file con le politiche di sicurezza. Niente apici, anche se il percorso contiene nomi di directory con degli spazi.

Specifica sempre un codebase al tuo grant, giusto per evitare che nel caso in cui dimentichi di eliminare i permessi di sicurezza sperimentali qualcuno faccia porcate con le applet .

Ultima modifica di PGI-Bis : 03-11-2006 alle 17:00.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 00:20   #11
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
siete stati dei grandi tutti e due e vi ringrazio molto per l'aiuto...
dal mio computer adesso, dopo aver passato il file .policy con i dovuti permessi e quindi aver configurato le opzioni runtime delle applet, è tutto ok riesco a visualizzare l'applet e interagire col DB.
Ora dovrei fare il passo successivo e cioè pubblicarla sulla mia pagina web. Per questo diciamo che ho cambiato (nell'HTML della mia pagina web) l'URL dell'applet mettendo quello appropriato, ma neanche a dirlo non riesco a visualizzarla ne sul mio PC ne da quello di una seconda persona.
Il messaggio di errore che compare nella console java è uguale a quello che mi compariva in precedenza:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)


Ho pensato allora che:

1) Dovevo cambiare anche l'URL del DB
2) Dovevo altresì cambiare quello del .policy

Per questo vi chiedo:
cosa devo aggiungere a String DBurl "jdbc:odbc:...??????...:<nomeMioDB>" l'URL completo di dove si trova il DB? C'è una sintassi particolare?

grazie mille
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 11:38   #12
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
up...
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 12:49   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da KNX
dal mio computer adesso, dopo aver passato il file .policy con i dovuti permessi e quindi aver configurato le opzioni runtime delle applet, è tutto ok riesco a visualizzare l'applet e interagire col DB.
Ora dovrei fare il passo successivo e cioè pubblicarla sulla mia pagina web. Per questo diciamo che ho cambiato (nell'HTML della mia pagina web) l'URL dell'applet mettendo quello appropriato, ma neanche a dirlo non riesco a visualizzarla ne sul mio PC ne da quello di una seconda persona.
Il messaggio di errore che compare nella console java è uguale a quello che mi compariva in precedenza:
Non è necessario cambiare nella pagina HTML l'URL della applet. Cioè basta lasciare ad esempio:

<applet code="applet/Applet.class" ....

Dopotutto ... è relativo alla posizione del file HTML.

Quello che invece sicuramente devi cambiare è il codeBase all'interno del file di policy.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 16:46   #14
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Quote:
Originariamente inviato da andbin
Quello che invece sicuramente devi cambiare è il codeBase all'interno del file di policy.
Cioè devo andare su Pannello di Controllo --> Java e dirgli, fra i parametri di runtine Java, di cercare il .policy da un'altra parte?
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 16:55   #15
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
CODEBASE è l'attributo che qualifica l'applicazione di un insieme di politiche di sicurezza. E' quello che c'è subito di fianco ai "grant" nei file policy.

In file policy può contenere più insiemi di permessi ognuno dei quali applicabili a diverse categorie di applicazioni, identificate o in base alla provenienza (il codebase) o all'identità del firmatario (nel caso di applicazione certificata) o a entrambi.

Controlla che il grant del tuo file policy in cui sono inseriti i permessi per l'accesso al package sun.* abbia un codebase compatibile con la provenienza dell'applet su internet.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 17:55   #16
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Allora, ho fatto un pò di confusiona ma adesso rimedio:

1) sto usando il server ftp Tiscali (ftp.tiscali.it)

2) il codice del file .policy presente sul server è:
Codice:
 AUTOMATICALLY GENERATED ON Tue Apr 16 17:
:59 EDT 2002
 DO NOT EDIT 


grant {
  permission java.security.AllPermission;
3) sto usando un database MS Access nominato Iscrizioni.mdb

4) questo URL (da passare come parametro a DriverManager.getConnection) è giusto?
Codice:
String msAccessURL = "jdbc:odbc://ftp.tiscali.it/Iscrizioni;user=xxxx;password=xxxx";
5) cosa devo fare per quanto riguarda i driver di connessione? Attraverso questa linea di codice (Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")), da quello che ho potuto capire, carico i driver locali. Come faccio se il mio DB sta appunto su un server, anche i relativi driver per effettuare una connessione con esso devono essere sul server?

grazie mille per essere stati così pazienti, purtroppo mi sono addentrato in una cosa più grande di me...
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 19:40   #17
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io non sono un esperto di access ma non so se sia sufficiente mettere su una macchina il file mdb perchè si possa accedere alla base dati in esso contenuta. Se non vado errato, occorre anche che quel file sia impostato come origine dati (sul server).

Per il file policy, un grant senza niente è un grant in cui il codebase è ALL (da ogni dove).

Trascurando il fatto che prima di applicare quelle particolari politiche di sicurezza che hai realizzato sarebbe consono gridare "sì, fammi male bestia, dai, dai", per far usare al plug-in quelle politiche suicide la sintassi dovrebbe essere:

-Djava.security.policy=ftp:indirizzoftpdelfilepolicy

Dico dovrebbe perchè non so se il sistema vada oltre l'http, in termini di protocollo supportato (la documentazione dice ogni URL valido ma gli esempi trattano di http e file).
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Reddit punterà sull'AI per miglio...
Samsung ha obiettivi molto ambiziosi per...
I produttori non faranno sconti sulle me...
Ubisoft potrebbe cedere pezzi se il pian...
Qualcomm potrebbe utilizzare una tecnolo...
Starfield per Nintendo Switch 2 potrebbe...
Un MacBook Pro a -300€, i MacBook Air M4...
Amazon abbassa i prezzi sugli iPhone: sc...
Amazon, ancora sconti sugli smartphone A...
iPhone Air 2 'riciclerà' alcuni c...
Offerta Amazon da non perdere: lo speake...
Nioh 3 debutta alla grande su Steam: pri...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v