Em JAVA, uma classe que recebe a notificação se um atributo...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Resposta Correta: D - HttpSessionAttributeListener
Vamos entender o contexto dessa questão para esclarecer a resposta correta. Em aplicações web Java, especialmente aquelas que utilizam o Java Servlet API, sessões são um mecanismo utilizado para manter estado entre diversas requisições HTTP. Uma sessão pode conter atributos, que são objetos associados a essa sessão que podem ser usados para armazenar informações sobre o usuário ou sobre a interação do usuário com a aplicação.
Para poder reagir a alterações nesses atributos de sessão, como adição ou remoção, o Java Servlet API fornece várias interfaces que podem ser implementadas para receber notificações de eventos de sessão. Cada uma dessas interfaces é responsável por tratar de um tipo específico de evento relacionado às sessões.
A interface HttpSessionAttributeListener é usada justamente para receber notificações de eventos sempre que um atributo é adicionado, removido ou substituído em uma sessão. Dessa forma, quando um objeto implementa essa interface e é configurado corretamente no aplicativo web, o servidor irá chamar os métodos dessa interface como resposta aos eventos mencionados.
Para a alternativa correta, D - HttpSessionAttributeListener, essa é a interface específica que precisa ser implementada para que uma classe seja capaz de ouvir por adições ou remoções de atributos em uma sessão. Os métodos que fazem parte desta interface incluem attributeAdded(), attributeRemoved() e attributeReplaced(), que são chamados respectivamente quando um atributo é adicionado, removido ou substituído na sessão.
As outras opções apresentadas são interfaces diferentes, relacionadas a outros tipos de eventos de sessão ou são nomes fictícios e não correspondem a interfaces reais do Java Servlet API:
- A - HttpSessionListener: É usada para receber notificações de eventos de ciclo de vida da sessão, como sua criação e destruição.
- B - HttpSessionObjectListener: Não é uma interface real do Java Servlet API.
- C - HttpSessionBindingListener: É usada para notificar um objeto quando ele é vinculado ou desvinculado de uma sessão.
- E - HttpSessionClassListener: Também não é uma interface real do Java Servlet API.
Compreender a função de cada uma dessas interfaces é crucial para desenvolver aplicações web robustas em Java, que respondem adequadamente a eventos relacionados à sessões dos usuários.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo