[SCWCD] Dúvida sobre Listener

9 respostas
S

Olá pessoal,

estou aqui, estudando para a SCWCD, usando o Head First Servlets and JSP.

Segundo o livro, na página 254, todos os listeners devem ser declarados no DD (web.xml), exceto por listeners do tipo HttpSessionBindingListener.

Porém, a errata do livro corrige essa página, afirmando que os HttpSessionActivationListener também não são declarados.

Daí, na página 261, existe uma classe que implementa os dois listeners, e a mesma está declarada no DD. Há a observação de que a classe só é declarada por causa do HttpSessionActivationListener.

Resumindo: o livro diz algo duas vezes e a errata corrige uma.
Queria saber quem está certo (já vi a errata “corrigir” coisa que estava certa).

Onde encontro a Servlet Spec?

9 Respostas

M

humm… vou ler o livro só mais uma vez e vou fazer o exame. Pra mim eu sempre entendi que todos os listeners devem ser declarados no DD, menos o HttpSessionBindingListener mesmo. Pra tirar a dúvida da pra implementar um HttpSessionActivationListener e ver se funciona com ou sem declaração no DD. Vou ver se faço isso qnd sobrar um tempo aqui.

As especificações tu encontra aqui:

http://java.sun.com/products/servlet/download.html
http://java.sun.com/products/jsp/reference/api/index.html

F

HttpSessionBindingListener -> Nao é obrigatório declarar .

HttpSessionActivationListener -> Deployou sem erros no TOMCAT 5.0.28, sem declarar a <listener> no web.xml, entretanto nao testei ( e nem sei como testar ) a mudanca de sessao em duas jvms.

F

http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=18&t=006122

S

Eu pensei o mesmo que vocês: testar. Mas como? :razz:

Vi esse tópico aí do JavaRanch. Eu já tinha perguntando isso no JavaRanch, e esse mesmo cara do link me respondeu.

Então é isso: nem HttpSessionBindingListener, nem HttpSessionActivationListener são declarados no web.xml.

:joia:

S

Não faz sentido o HttpSessionBindingListener ser declarado no DD.
Ele é apenas um meio de um atributo saber que foi adicionado/alterado/removido da sessão. Não é como se fosse uma callback do container para avisar algo (sessao/context criado/detruído)

[]s

Samuel

S

A gente já sabia disso.
A pergunta era se HttpSessionActivationListener era declarado ou não.

S

A chance de o HttpSessionActivationListener cair na prova é muito pequena, não se prendam a estes detalhes. Ja o BindingListener é muito importante.

O máximo que pode cair relacionado ao HttpSessionActivationListener é saber o que acontece e o que pode acontecer com sua sessão quando o container está dividido em várias JVMs.

S

Hmmm… valeu.

Parece que o quê mais cai é JSTL e EL?

S

Para mim caiu um pouco de tudo, o que menos caiu foi comportamento quando o container roda em várias JVMs.

Caiu JSTL, umas 4 questões, um pouco de EL mais umas 4 (uma sobre configuração e três sobre uso).
Caiu muita taglig. Como fazer a sua, etc…
O resto é o básico…

Criado 16 de agosto de 2005
Ultima resposta 19 de ago. de 2005
Respostas 9
Participantes 4