Newsgroup: it.comp.java
Titolo: Re: [Newbie] java.lang.ClassNotFoundException: applet che non si apre, dove sbaglio?

 padreTony
ho letto su MokaByte che bisogna che il .class venga messo in una
direcotry pubblica e bisogna assicurarsi che la pagina web punti all'url
corretto usando il codebase. 
Ebbene per quanto abbia provato diverse configurazioni di url continuo ad
ottenere il solito errore. Ho fatto tutto con Netans ed ho pensato che
forse nel fare debug magari non mette le cose in modo giusto o chissà e
insomma ho messo tutto a mano su tomcat per essere più sicuro ma non ho
ancora risolto. A questo punto non so più cosa fare, spero davvero
qualcuno possa darmi una mano.
Saluti padreTony



 qualcuno possa darmi una mano.
Scusa, non sono molto esperto in applet, ma per quanto ne so, non hai 
problemi a dir loro anche di funzionare in locale.
Copia i tuoi file fuori dal server e fai doppio click sulla pagina html 
che hai creato. In questo modo vedi se riesce araggiungere la classe.
Nell'html togli l'attributo codebase, cosi' che prenda la locazione 
corrente.
Per il resto non so...
Comunque ti consiglio di mettere le tue classi nei package, sono piu' 
semplici da gestire, anche se devi scrivere piu' cose..
-- 
            Davide Gurgone
      web: 
http://www.gurgone.it/
mail: davidechiocciolinagurgonepuntoit

 semplici da gestire, anche se devi scrivere piu' cose..
Grazie mille, sono riuscito a far andare l'applet! 
Ora però lo sviluppo è diventato allucinante perchè per ogni modifica
devo fare l'undeploy e di nuovo il deploy dell'applicazione a mano su
Tomcat, riorganizzare la collocazione di alcuni files sempre a mano,
chiudere e riavviare il browser e finalmente riesco a vedere le modifiche.
Poter richiamare l'applet da un package sarebbe grandioso perchè potrei
fare tutto semplicemente con il debug di Netbeans in automatico
risparmiando più della metà del tempo. Ho provato a mettere il file
.java nel contesto web di Netbeans ma quando ricompilo lo ignora per cui
sono costretto in pratica a farlo compilare nel package di default e poi
spostarlo a mano (come ti dicevo..). 
Scusa se approfitto della tua
disponibilità ma come fare ad usare l'applet direttamente da un package?
Ho letto che WEB-INF è una dir privata e i package vengono messi in
WEB-INF/classes/<package_dir>. 
Saluti, padreTony

 WEB-INF/classes/<package_dir>. 
Dunque, il problema e' semplice.
Un'applet e' un tipo di contenuto che non viene elaborato da tomcat, ma, 
per il server, e' un contenuto ASSOLUTAMENTE STATICO. Il server si 
limita a spedirtelo, un po' come funziona con le immagini. Ok?
Quindi, se inserisci la tua applet in una pagina html, essa deve essere 
raggiungibile dal server, come contenuto statico, come per le immagini.
ti faccio un esempio:
/applicazione
   |
   /WEB-INF
     |
     /lib (package usati dal server)
     |
     /classes (Classi elaborate dal server)
   |
   /pag1.jsp
   |
   /pag2.jsp
   |
   /pag3.jsp
   |
   /applet
     |
     /miaApplet.jar
Il codice della tua applet deve essere quindi raggiungibile dalla tua 
pagina e, seguendo questa gerarchia, nella tua pagina jsp scriveresti:
<APPLET CODE="wListener.class" ARCHIVE="applet/miaApplet.jar"
     width="100" height="100" name="SwingingApplet" ></applet>
Per fare i jar solo di una parte di applicazione (l'applet) devi 
necessariamente o creare un nuovo progetto netbeans oppure inserire il 
materiale in una nuova cartella di sorgenti e crearti un task con ant, 
per la produzione del jar, solo per i sorgenti dell'applet, per poi 
richiamarlo da netbeans ( o da console).
Per sapere cos'e' ant vai su 
http://ant.apache.org/
 e ti leggi come 
funziona.
Ti consiglio quest'ultima strada che, anche se macchinosa all'inizio, ti 
assicuro che poi ti ripaghera' del tempo perduto per lo studio di ant.
Oltretutto, ma questo comunque, non devi stoppare tomcat e rieffettuare 
il deploy dell'applicazione, non ti serve! E' come se sostituissi 
un'immagine, mica devi rifare il deploy, al limite premi F5 sul browser!
Ciao,
