FC ConcursosFC Concursos

Questão FC266245

Em relação a Servlets, podemos afirmar que

Plataforma Java EE

IDECAN · 2019

Em relação a Servlets, podemos afirmar que

  1. um servlet gera um arquivo JSP (Java Server Page) ao ser compilado.
  2. é gerada apenas uma única instância para cada servlet no servidor, sendo assim, variáveis de instância declaradas no servlet não são compartilhadas entre requisições.
  3. são geradas várias instâncias de um mesmo servlet no servidor, ou seja, cada requisição acessa uma instância diferente.
  4. é gerada apenas uma única instância para cada servlet no servidor, sendo assim, variáveis de instância declaradas no servlet são compartilhadas entre requisições.
  5. a partir da versão 3.0, não é mais possível usar a anotação @WebServlet.
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

Na especificação de Servlets, o contêiner cria uma única instância de cada servlet e, a cada requisição, invoca métodos como service(), doGet() ou doPost() em threads distintas que compartilham essa mesma instância.

Isso implica que variáveis de instância (atributos de campo) são compartilhadas entre todas as requisições e clientes, podendo causar condições de corrida se usadas sem controle.

Para evitar problemas, prefira usar variáveis locais dentro dos métodos (cada thread tem sua cópia), ou empregue mecanismos de segurança de concorrência como Atomic classes, síncronização controlada ou ThreadLocal quando necessário.

Outra alternativa é armazenar dados por requisição em atributos do HttpServletRequest ou por usuário na HttpSession, evitando assim o compartilhamento indesejado entre threads.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo