Objetos no HttpSession

5 respostas
cu_ringa

p mim colocar um objeto num contexto de sessao(HttpSession), eu preciso serializar ele, pq qnd n tou serializando qnd compila da pau!!!

5 Respostas

cv1

Os objetos colocados na sessao http precisam ser SERIALIZAVEIS, mas nao serializados, pq a especificacao preve que um servlet container pode querer guardar as informacoes da sessao em disco, ao inves de deixar na memoria, ou passar informacoes da sesao pela rede para outros servidores em um cluster.

cu_ringa

cv escreveu:


Os objetos colocados na sessao http precisam ser SERIALIZAVEIS, mas nao serializados

ql a diferenca???

_fs

Um objeto serializável é um objeto que pode ser serializado, ele precisa implementar a interface java.io.Serializable.
Ou seja, você não precisa serializar o objeto, quem faz isso é o Servlet Container, no seu caso, o Tomcat.

cv1

Serializavel: que pode ser serializado
Serializado: que foi serializado (transmitido em forma de uma serie de bits por algum meio, rede, disco, atabaque, sinal de fumaca, o que seja)

T

Um objeto é serializável quando:

  • A sua classe implementa Serializable, e

  • Todos os seus campos que não são ‘transient’ são Serializable, ou então são tipos primitivos, ou então:

  • A sua classe implementa Externalizable (que implementa Serializable), e

  • os métodos writeExternal e readExternal estão corretamente implementados.

Não é suficiente só implementar Serializable. Por exemplo, na Sun JVM, a classe que implementa java.security.cert.Certificate (acho que é com.sun.security.X509Certificate se não me engano) implementa Serializable, mas se você tentar serializá-la, terá um problema que algum dos campos dessa classe não está conseguindo ser serializado corretamente.

Criado 17 de março de 2005
Ultima resposta 17 de mar. de 2005
Respostas 5
Participantes 4