michele.c93 ha scritto:
Ciao ragazzi ho la mia applicazione stand alone che deve comunicare con una servlet.
Quindi ho creato una connessione con la servlet e tramite metodo POST voglio inviare i dati, per esempio dati di login come username e password. [...]
Facciamo una premessa: visto che il "client" è una applicazione Java standalone (e non un browser, quindi) e il server è una webapp Java EE che si basa come minimo sulle Servlet e sono entrambi sviluppati da te, allora il formato dei dati, e in particolare cosa/come inviare con un POST, potresti assolutamente deciderlo tu in modo del tutto arbitrario. Potresti, per ipotesi estrema, addirittura usare la serializzazione degli oggetti di Java, dato che è Java da entrambi i lati. Potresti anche "inventarti" un tuo protocollo binario oppure testuale.
Ma ti conviene non andare a cercare cose troppo strane ... complicheresti solo le cose e renderesti anche più difficile il testing della comunicazione con eventuali altri strumenti.
Quindi.
Se vuoi inviare un POST come avviene quando si fa il submit di un form HTML, in modo che lato Servlet puoi prendere i dati con il getParameter(String name) di (Http)ServletRequest, allora DEVI usare un formato ben preciso che è secondo il content-type "application/x-www-form-urlencoded".
Vedi ad esempio
qui o , giusto due risorse trovate in rete.
In generale, comunque, se vuoi scambiare dati un po' strutturati (non "pagine web", pertanto) tra client e server su HTTP, dovresti cercare di usare dei formati ben noti e standard, tra cui sicuramente XML oppure JSON.
Al momento non saprei cosa altro suggerirti, anche perché dal tuo messaggio una cosa risulta abbastanza evidente: poca/scarsa conoscenza del networking, dei protocolli di comunicazione e di HTTP.