Dúvida com static container web

Pessoal,
quando eu uso o static em um atributos da minha classe se eu o altero isso reflete para outras instancias de outras requisições de outros usuários do container web?

Tipo assim:

// TesteStatic.java  
class Classe1  
 {  
     // Variavel static  
     public static int contador = 0;  

   ...

 } 

Se eu alterar o contador para 1 e numa outra resquisição web, outro usuário verá 0 ou 1? E no caso de de outras requisições do mesmo usuário?
Olhei aqui no forum e o assunto foi discultido, mas nao achei nada no contexto de web(container).

Abraços e obrigado.
Ademir

Bom dia!

Admir,
Não irá alterar, pelo o fato do static ser uma palavra reservada para indicação que o metodo, atributo, variável etc… são da propria CLASSE!
por isso o conteiner irá interpretar que a variável sentinela será da propria classe!

[quote=AdemirPinto]Pessoal,
quando eu uso o static em um atributos da minha classe se eu o altero isso reflete para outras instancias de outras requisições de outros usuários do container web?

Tipo assim:

// TesteStatic.java  
class Classe1  
 {  
     // Variavel static  
     public static int contador = 0;  

   ...

 } 

Se eu alterar o contador para 1 e numa outra resquisição web, outro usuário verá 0 ou 1? E no caso de de outras requisições do mesmo usuário?
Olhei aqui no forum e o assunto foi discultido, mas nao achei nada no contexto de web(container).

Abraços e obrigado.
Ademir[/quote]

Se você mudar o valor da variável static, vai mudar para todo mundo dentro do mesmo container. E como é static, não existe “instância” dessa variável, todo mundo vai acessar a mesma.

Ademir, tudo joia?

Quando falamos do container em si podemos usar o exemplo clássico do servlet. Quando você roda o container ele instancia as suas classes servlet’s,
e para cada requisição ele não cria uma nova instancia desse servlet, apenas delega para uma outra thread independentemente do usuário.

Levando isso em consideração, se você adicionar 1 número inteiro a um método da classe que é chamado a cada requisição, o valor será incrementado.
Se o mesmo usuário fizer n requisições o valor será incrementado n vezes, à menos que você tenha um controle disso como uma restrição por IP por exemplo.

Existe um artigo publicado aqui no GUJ sobre isso:

http://www.guj.com.br/articles/121

Abs.