Newsgroup: it.comp.java
Titolo: Applet e lettura file

Sto realizzando la mia prima Applet; è possibile fargli leggere dati da un
file e scrivere lo stesso (salvandolo su server) ??
Ho paura di no....
-- 
=============== Totò alias J_Zanetti ================
                          Tessera #9 "Nel segno di Cruz"
  Tessera #0 #7 "ANDY SCHIET ZE ALLEMAAL" (fondatore)
============== toto...@SPAMtin.it ===============

 
http://java.sun.com/sfaq/#read

[lobo] wrote:

ho letto meglio ora.
per leggere un file su un server puoi renderlo accessibile attraverso il 
webserver, per poi accedervi attraverso una chiamata http.
per scriverlo potresti fare un post a uno script, che poi andrebbe a 
scrivere il contenuto delle variabili che li sono state passate nel file.

 
http://java.sun.com/sfaq/#read
Se ho ben capito, non si puň. Grazie
=============== Totň alias J_Zanetti ================


 Se ho ben capito, non si può. Grazie
si, si puo, ma non "direttamente" dall'applet, perchè quello è come 
un'applicazione che gira sul client.

 ha scritto nel messaggio
news:csm7c.101020$O31.4...@news4.tin.it...
| Sto realizzando la mia prima Applet; è possibile fargli leggere
| dati da un file e scrivere lo stesso (salvandolo su server) ??
| Ho paura di no....
Un applet gira in un contesto di sicurezza abbastanza sever.
Per fargli leggere o scrivere file locali dovresti firmare
l'applet.
In nessun caso (anche se firmato) l'applet può scrivere
direttamente file sul server. Tuttavia potresti esporre
una servlet o una jsp che riceve il contenuto da
scrivere ed effettua la scrittura nel file per conto dello
applet.
Ciao,
GianpieroP
-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0
iQA/AwUBQF4flJ4sPKh9SaicEQI9QgCgnS6EqyPN4R1Odp5nvS/Ds8nQPvYAoJfZ
3wW+qakmvyHtBQODevOTmUoJ
=JCfP
-----END PGP SIGNATURE-----

 Ho paura di no....
Scusate anche io ho un problema simile e avevo pensato di aprire una
connessione ftp verso  il server (lo stesso da cui prendo l'applet) e
mandare cosi' i miei dati (delle immagini). Da quello che ho letto gli
applet hanno il diritto di connettersi con il server dal quale
provengono. Sto dicendo eresie ?
Grazie
-- 
Ciao
Fabio

 Un applet gira in un contesto di sicurezza abbastanza sever.
 Una servlet me lo permette?


 ha scritto nel messaggio
news:lAw7c.102389$O31.4...@news4.tin.it...
|  Una servlet me lo permette?
Una servlet come una jsp può scrivere file nel server.
Un applet può inviare materiale alla servlet affinchè
questa lo scriva in un file sul server.
Non ho capito però se intendi scrivere file sul server
o sul client. Una servlet vive sul server e può scrivere
file sul server, non sul client (non ci arriva).
Un applet vive sul client e non può, però, scrivere
file sul client (per ragioni di sicurezza). A maggior
ragione non lo potrebbe fare sul server.
Un applet firmato (considerato attendibile) può
scrivere file sul client.
Ciao,
GianpieroP
-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0
iQA/AwUBQGCaKp4sPKh9SaicEQJhlgCfaqAr2Qesi+VBkX4Gsx+nSVSXtOMAoMzl
xEJGb/ZGuhDDXssW1lf6cDnq
=uDuE
-----END PGP SIGNATURE-----

 ha scritto nel messaggio
news:1gb10mo.1x7ud1u1y39vlcN%fabio.trezz...@email.it...
| Scusate anche io ho un problema simile e avevo pensato di aprire
| una connessione ftp verso  il server (lo stesso da cui prendo
| l'applet) e mandare cosi' i miei dati (delle immagini).
Perchè usi FTP? Dovresti poi disporre di un client ftp oppure
aprire un socket e inviare i comandi ftp a mano?
Ma in ogni caso ti servirebbe sempre un server FTP.
Perchè non invii il materiale tramite l'URLConnection e una
servlet raccogliendoli li salva in un file?
| Da quello che ho letto gli
| applet hanno il diritto di connettersi con il server dal quale
| provengono. Sto dicendo eresie ?
Dici giusto. L'applet non può aprire connessioni
verso siti diversi da quello di provenienza per ragioni
di sicurezza. Ma se l'applet è firmata (considerata
attendibile) allora può superare tale limite.
Ciao,
GianpieroP
-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0
iQA/AwUBQGCbxp4sPKh9SaicEQLV5wCg27+K2I6NQPNuqGjKsBeyNUOiyx0AoP0Y
WBsiHHyYIja3lcgzoNrVKr8t
=V7F4
-----END PGP SIGNATURE-----

 
In effetti sarebbe l'idea piu' logicha ma temo di non avere modo di
abilitarle sul server ... 
Quindi senza il supporto lato server non mi resta che andare di ftp ...
-- 
Ciao
Fabio

 ha scritto nel messaggio
news:1gb4faq.1khlhugqa99ckN%fabio.trezz...@email.it...
| In effetti sarebbe l'idea piu' logicha ma temo di non avere modo di
| abilitarle sul server ...
| Quindi senza il supporto lato server non mi resta che andare di ftp
| ...
Meno male che non hai detto andare di corpo! ;-)
Beh! Un applicazione server pure ci vuole sul server.
Pensavo avessi gią un application j2ee a portata di mano.
Non disponendo vai pure di ftp.
Ma basterebbe anche una asp o un php o altro del genere.
Ma forse le tue pagine sono in hosting e ti danno la
connettivitą ftp per metter su le pagine statiche, vero?
GianpieroP
-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0
iQA/AwUBQGC31p4sPKh9SaicEQLjxACcCfGJ7AF4fWjVn8Vv11wQOjSUH5wAoNOB
r1ytiPONYXySoEjroiaKn3L0
=e2h3
-----END PGP SIGNATURE-----

 
Questo e' piu' interessante, ho infatti la possibilita' di avere pagine
ASP, come devo fare in Java per passare dei dati binari ad una pagina
ASP ??
Grazie
-- 
Ciao
Fabio

 ha scritto nel messaggio news:1gb629q.1n3upafqbboaoN%fabio.trezz...@email.it...
| Questo e' piu' interessante, ho infatti la possibilita' di avere pagine
| ASP, come devo fare in Java per passare dei dati binari ad una pagina
| ASP ??
Beh in realtà pensandoci bene la soluzione non è proprio fast!
Ma vedilo come un utile esercizio teorico che aiuta a comprendere
come il modello ISO-OSI giova alla comunicabilità tra piattaforme
diverse. La soluzione seguente fa comunicare tra loro applicazioni
sviluppate in linguaggi diversi.
SOLUZIONE:
1. L'applet spedisce sul protocollo HTTP il file binario.
2. La pagina ASP riceve il file binario e lo scrive sul file system
    che la ospita.
Per spedire una sequenza binaria su un canale http (che fa
transitare dati testuali) è necessario convertire lo stream
binario in uno stream testuale. Come? Si potrebbe usare
(ad esempio) la codifica base64. Ho pensato a tale soluzione
perchè è quella usata per allegare file binari nelle email.
La sequenza delle operazioni che l'applet deve fare sono quindi:
1. convertire il file binario in una stringa mediante l'encoding B64.
2. spedire alla pagina ASP mediante un Post la stringa.
Per adempiere il compito 2 si potrebbe usare la classe
HttpMessage del package opensource com.oreilly.
Per adempiere il compito 1 si potrebbe cercare una
classe ad hoc su google.
La sequenza delle operazioni che la pagina ASP deve fare sono:
1. recuperare dal campo del post la stringa. [ Request("campo") ]
2. convertire la stringa in un array di byte mediante il decoding B64
3. salvare l'array di byte (lo stream binario) nel file.
Per adempiere il compito 2 cercare su google.
Per adempiere il compito 3 usare il FileSystemObject.
Spero di non aver annoiato il lettore, anzi
spero che qualcuno mi suggerisca una via
più breve.
Saluti,
GianpieroP

Grazie per la spiegazione molto esaustiva, in effetti non e' cosi' fast
la cosa. Probabilmente ci metto meno con l'ftp ma e' comunque
interessante la possiblita' di passare i dati via http dall'applet.
un altra domanda per te, io lavoro sotto osx e quando ho cercato di
aprire un applet che richiedeva permessi speciali (quella negli esempi
sulla sicurezza del tutorial sun) il mio browser mi ha chiesto se volevo
autorizzarla. 
La procedura mi sembra quindi molto semplice, solo che per scrupolo mi
sono documentato e ho visto che bisogna fare tutta una trafila con
jarsigner etc per firmare un applet.
Ora la domanda e': solo il mio browser mi chiede di autorizzare applet
non firmate o e' prassi comune ? te lo chiedo perche' i miei utenti sono
totalmente negati con i computer e non posso chiedergli di usare qualche
tool da riga di comando per installare la licenza :-)
Grazie
-- 
Ciao
Fabio

 ha scritto nel messaggio news:1gb89mk.1qwfeeqezq4fkN%fabio.trezz...@email.it...
Usi Safari come browser?
| il mio browser mi ha chiesto se volevo
| autorizzarla.
Due sono i possibili comportamenti di un browser quando
riceve un applet firmata:
1. La considera attendibile in maniera silente. (Oppure,
    se le impostazioni del browser sono correttamente
    configurate, avvisa l'utente che sta considerando l'applet
    attendibile).
2. Non la considera attendibile, ma chiede all'utente se vuole
    assumersi la responsabilità di accettarla come attendibile.
I browser si comporano come nel caso 1 se e solo se il
certificato digitale dell'applet soddisfa tutti i requisiti di
attendibilità: rilasciato da una fonte di certificazione
attendibile (Verisign, Thawte, ...); data di validità non
ancora scaduta, ...
Quindi se vuoi distribuire un applet che rientri nel caso 1
dovresti comprarti un certificato da una CA considerata
attendibile da tutti i browser (o java plug in).
| La procedura mi sembra quindi molto semplice, solo che per scrupolo mi
| sono documentato e ho visto che bisogna fare tutta una trafila con
| jarsigner etc per firmare un applet.
La trafila la devono fare solo coloro che distribuiscono l'applet:
il programmatore per esempio.
| Ora la domanda e': solo il mio browser mi chiede di autorizzare applet
| non firmate o e' prassi comune ?
Nessun browser (nemmeno il tuo) chiede di autorizzare applet non firmate.
Vedi più sopra il comportamento dei browser (quel meccanismo si
instaura soltanto quando l'applet è firmata). Se l'applet non è firmata,
il browser (o il jre plugin) non chiede niente, ma non gli consente operazioni
potenzialmente pericolose (connessione a siti diversi da quello di prov.;
scrittura/lettura di file locali; apertura periferiche, ...).
| te lo chiedo perche' i miei utenti sono
| totalmente negati con i computer e non posso chiedergli di usare qualche
| tool da riga di comando per installare la licenza :-)
Gli utenti non dovranno fare mai nulla: l'applet è firmata dal distributore.
Ciao,
GianpieroP

 
non avevo considerato che probabilemte l'applet di esempio era firmata
Coma al solito mille grazie per le esaustive dritte :-)
-- 
Ciao
Fabio