Duvidas com applet

Oi pessoal td bm … eu tenho que fazer um applet mandar uma Objeto como parametro alguem poderia me ajudar

:?: :?:

Desde já muito obrigado :!:

Bom, você quer receber um parâmetro na applet, ou é a applet que tem de chamar uma outra página e mandar um parâmetro?
Se você quer receber algo na applet, lembre: parâmetros de applets são sempre strings. Se quer receber alguma outra coisa que não é string, converta-a para string (provavelmente não usando toString() mas alguma outra coisa :wink: ) ou então pense no que está fazendo.

<applet ..... >
    <param name="param1" value="valor1">
</applet>

A applet q tem que chamar um servlet …

Uma servlet pode receber dados na URL (via GET) ou diretamente (via POST). É melhor sempre considerar que não seja possível passar os dados binariamente, mesmo usando POST (para evitar alguns problemas encardidos).

Se o tal objeto for pequeno e serializável, e você jurar de pés juntos que ele nunca será alterado (he he he - nunca vi acontecer isso ) você pode fazer o seguinte:

  • Gravá-lo em um ObjectOutputStream, encapsular essa ObjectOutputStream em um ByteArrayOutputStream, pegar o array de bytes resultante, passar para hexadecimal - ou base-64 se preferir - e enviar via POST, ou se for realmente pequeno, via GET. No servlet você tem de fazer o caminho inverso (pegar o parâmetro, desconverter de hexa para array de bytes, jogar em um ByteArrayInputStream, encapsular isso em um ObjectInputStream, e então ler o objeto desse ObjectInputStream. (uff - cansei)

Se o tal objeto for pequeno e você não sabe exatamente se ele vai ou não ser alterado, mande os campos um de cada vez - é trabalhoso mas não dá tantos problemas :wink:

Como é uma applet não posso recomendar a classe java.beans.XMLEncoder e java.beans.XMLDecoder - não sei se você vai ter de fazer funcionar com Microsoft JVM :wink: . Se pudesse usar era bem facinho, já que XML todo mundo entende…