Duvida sobre Servlet

3 respostas
Henrique.tenorio

É o seguinte, eu tenho um servlet com uma variável de instância contadora que coloquei para ter certeza que toda vez que esse servlet fosse requisitado ele não incrementasse essa variável . A duvida é quando um servlet é requisitado, é usado sempre a mesma instância dele ou uma nova é criada. Por que é estranho toda vez que ele é requisitado em vez de iniciar a variável contadora ele a incrementa?

3 Respostas

leandronsp

Toda vez que o Container sobe, ele instancia as servlets declaradas, e mantém a referência a elas.
Quando sua servlet foi instanciada, cada requisição a ela compatilhará a mesma servlet (objeto), só que em Threads diferentes. Por isso sua variável, mesmo sendo de instância, está sendo incrementada.

Henrique.tenorio

leandronsp:
Toda vez que o Container sobe, ele instancia as servlets declaradas, e mantém a referência a elas.
Quando sua servlet foi instanciada, cada requisição a ela compatilhará a mesma servlet (objeto), só que em Threads diferentes. Por isso sua variável, mesmo sendo de instância, está sendo incrementada.

Então só existe um objeto mesmo. é sempre assim?
E com os JavaBeans é a mesma coisa?

leandronsp

Henrique.tenorio:
leandronsp:
Toda vez que o Container sobe, ele instancia as servlets declaradas, e mantém a referência a elas.
Quando sua servlet foi instanciada, cada requisição a ela compatilhará a mesma servlet (objeto), só que em Threads diferentes. Por isso sua variável, mesmo sendo de instância, está sendo incrementada.

Então só existe um objeto mesmo. é sempre assim?
E com os JavaBeans é a mesma coisa?

Que eu saiba, é sempre assim o funcionamento da “coisa” :slight_smile:
Não manjo mto de JavaBeans, não sei te dizer…

Sugiro ler o livro JSP & Servlets, da série Use a Cabeça (Head First)

Criado 8 de abril de 2011
Ultima resposta 8 de abr. de 2011
Respostas 3
Participantes 2