Newsgroup: it.comp.java
Titolo: Form applet

Salve a tutti,
sono nuovo nel NG e spero non sia mai stato chiesto qualcosa di simile; se
si, scusatemi. Passo subito al dunque: sto facendo una piccola applicazione
che funga da form per un sito; non posso usare cgi o asp perchè non ho
nessun diritto di scrittura sul server che ospita il sito e un semplice form
html è un pò restrittivo quindi vorrei provare con un'applet ma ho un
poblema...
...Dopo aver scaricato le API Mail, ho fatto il form come applicazione e
tutto funziona bene invece qualcosa non va quando la "trasformo" in applet:
il problema sta ovviamente nel cuore del programma (e non nella parte
grafica) cioè nel blocco try-catch di invio della e-mail che riporterò qui
sotto:
  try {
        Properties props = System.getProperties();
        props.put("mail.smtp.host", smtpHost);
        Session session =  Session.getDefaultInstance(props, null);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipient(
Message.RecipientType.TO
, new
InternetAddress(to));
        message.setSubject("Modulo web da "+nickname);
        message.setText(corpo.getText());
        Transport.send(message);
        }
        catch(Exception exc) { System.err.println(exc); }
Mettendo sotto commento questa parte l'applet va ma non funziona proprio
come vorrei ;-)
Non ho errori in fase di compilazione dell'applet bensì ho i seguenti in
runtime e l'applet non parte proprio (nemmeno la grafica):
java.lang.NoClassDefFoundError: javax/mail/Address
        at java.lang.Class.newInstance0(Native Method)
        at java.lang.Class.newInstance(Class.java:237)
        at sun.applet.AppletPanel.createApplet(AppletPanel.java:579)
        at sun.applet.AppletPanel.runLoader(AppletPanel.java:515)
        at sun.applet.AppletPanel.run(AppletPanel.java:293)
        at java.lang.Thread.run(Thread.java:484)
Non sono un grande esperto di applet (e di Java), ma dall'errore non viene
trovata la classe Address nel modulo mail: ma questo problema non dovrebbe
essere in compilazione? Una volta che ottengo il .class non è stato già
tutto linkato e impacchettato?...o forse è un problema di protezione...devo
aggiungere qualcosa per poter inviare e-mail da un sito web perchè non si
hanno informazioni sul mittente. Comunque ripeto: lo stesso pezzo di codice
nell'applicazione funziona benissimo...
Grazie per la collaborazione

> ...Dopo aver scaricato le API Mail...
Mi dispiace, ma il pacchetto JavaMail non è incluso nei browser!! In
pratica, nessun browser potrà trovare le classi delle API Mail. Quindi, temo
di doverti dire che è tutto inutile.
Andrebbe tutto bene se la tua fosse un applicazione e non un applet.
Inoltre, dubito che tu possa richiedere le Properties di sistema da un
applet, perchè sarebbe una violazione della sicurezza (pensa: faccio un
applet che estrae le properties di chi scarica l'applet e poi me le invio
adu server!! Saprei parecchie cose di te, senza che tu te ne renda conto!!).
Inoltre ti ricordo che un applet non può scrivere sul computer locale e
oltretutto può connettersi via tcp, udp, rmi o chissà che altro, solo al
computer sul quale è depositata la pagina html che la contiene.
Sono grandi limitazioni, ma necessarie per garantire la sicurezza. Per
saperne di più leggi le faq di Cristiano Sadun (una bella ricerca col motore
di ricerca dovrebbe darti l'indirizzo esatto).
Per fare quello che vuoi tu, mi sa che è necessario che tu usi servlet.

 ha scritto nel messaggio
news:3be8...@news.cis.it...
