Salve a tutti,
vorrei sapere come si fa per serializzare un'oggetto java anzichè salvarlo su file, trasformarlo in un Buffer per poi spedirlo in http
Salve a tutti,
vorrei sapere come si fa per serializzare un'oggetto java anzichè salvarlo su file, trasformarlo in un Buffer per poi spedirlo in http
Tony
Eh??? Spiega un po' (anzi molto) meglio.Originariamente inviato da tony83
vorrei sapere come si fa per serializzare un'oggetto java anzichè salvarlo su file, trasformarlo in un Buffer per poi spedirlo in http
HTTP è un protocollo ... non è che puoi spedire così su due piedi un oggetto Java.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
OK per passare un'oggetto tramite http come mi consigli di procedere? in che cosa dovrei trasformarlo per poi spedirlo?Originariamente inviato da andbin
Eh??? Spiega un po' (anzi molto) meglio.
HTTP è un protocollo ... non è che puoi spedire così su due piedi un oggetto Java.
Tony
Darei per scontato che tu sappia cosa è e come funziona il protocollo HTTP ma vista la tua domanda ... tanto scontato non lo è.Originariamente inviato da tony83
OK per passare un'oggetto tramite http come mi consigli di procedere? in che cosa dovrei trasformarlo per poi spedirlo?
HTTP è un protocollo request/response tra un client e un server, il protocollo definisce una serie di "metodi" (8 se non sbaglio) con cui il client specifica al server cosa vuole fare/ottenere. I due metodi più tipici e comuni sono il GET e il POST. POST serve principalmente per inviare dei dati ad un URL, tipicamente sono i dati (testuali) contenuti in un modulo (<form>) di una pagina web.
Si possono anche passare dati binari ma la mia domanda a questo punto è: a chi devi inviarli? cioè chi c'è dall'altra parte? Intendo dire: uno script PHP? una servlet? uno script Perl?
E come devono essere codificati i dati? Se un oggetto Java lo serializzi e invii lo stream di dati tramite HTTP con un POST (cosa fattibile), dall'altra parte chi riceve deve per forza sapere come de-serializzarlo.
Cioè, per concludere, non è chiaro cosa ci devi fare, a chi e come devi passare i dati.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Già sapevo cosa è http.. cmq grazie lo stesso per la precisione.Originariamente inviato da andbin
Darei per scontato che tu sappia cosa è e come funziona il protocollo HTTP ma vista la tua domanda ... tanto scontato non lo è.
HTTP è un protocollo request/response tra un client e un server, il protocollo definisce una serie di "metodi" (8 se non sbaglio) con cui il client specifica al server cosa vuole fare/ottenere. I due metodi più tipici e comuni sono il GET e il POST. POST serve principalmente per inviare dei dati ad un URL, tipicamente sono i dati (testuali) contenuti in un modulo (<form>) di una pagina web.
Si possono anche passare dati binari ma la mia domanda a questo punto è: a chi devi inviarli? cioè chi c'è dall'altra parte? Intendo dire: uno script PHP? una servlet? uno script Perl?
E come devono essere codificati i dati? Se un oggetto Java lo serializzi e invii lo stream di dati tramite HTTP con un POST (cosa fattibile), dall'altra parte chi riceve deve per forza sapere come de-serializzarlo.
Cioè, per concludere, non è chiaro cosa ci devi fare, a chi e come devi passare i dati.
Quello che devo fare io e mi sono effettivamente spiegato male, nn è altro che:
la serializazzione di un oggetto Java e inviare lo stream di dati tramite HTTP con un POST e dall'altra parte chi riceve deve per forza sapere come de-serializzarlo.
Dall'altra parte c'è una Servlet.
Tony
upOriginariamente inviato da tony83
Già sapevo cosa è http.. cmq grazie lo stesso per la precisione.
Quello che devo fare io e mi sono effettivamente spiegato male, nn è altro che:
la serializazzione di un oggetto Java e inviare lo stream di dati tramite HTTP con un POST e dall'altra parte chi riceve deve per forza sapere come de-serializzarlo.
Dall'altra parte c'è una Servlet.
Tony
Posso dirtelo a grandi linee, perché non ho mai dovuto fare un post di roba binaria.Originariamente inviato da tony83
la serializazzione di un oggetto Java e inviare lo stream di dati tramite HTTP con un POST e dall'altra parte chi riceve deve per forza sapere come de-serializzarlo.
La classe da usare è certamente URLConnection. Si dovrà creare una connection a partire da un URL, dopodiché si imposta il flag di output con setDoOutput(true), si imposta il content-type (se non sbaglio, va bene "multipart/form-data") e poi si prende lo stream e si inviano i dati.
Però adesso non ti so dire come vanno codificati, bisognerebbe leggere le specifiche per multipart/form-data.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Darei anche un'occhiata a commons, ci sono delle librerie (HTTPClient e net) che hanno molti dei metodi già implementati. Oppure come ti ha suggerito andibin, ti vai a leggere le specifiche di post con enctype="multipart/form-data" e scrivi tu il tutto da 0.
http://jakarta.apache.org/httpcompon...ipartpost.html
e l'intero progetto.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"