Como os servlets funcionam: criação, sessões, variáveis compartilhadas e multithreading
Olá a todos! Comecei a estudar Java EE e servlets recentemente, mas estou confuso sobre algumas coisas fundamentais. Vocês podem explicar de forma simples?
Eu tenho um servlet simples que conta o número de visitas à página. Eu esperava que cada usuário visse seu próprio contador, mas na prática tudo funciona de forma estranha.
Aqui está meu código:
```java
public class CounterServlet extends HttpServlet {
private int counter = 0;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
counter++;
response.getWriter().println("Você visitou esta página " + counter + " vez(es)");
}
}
```
Abri em dois navegadores diferentes (Chrome e Firefox). No primeiro navegador, atualizei a página 3 vezes — o contador mostrou 3. Depois, no segundo navegador, atualizei uma vez — e o contador foi para 4! Ou seja, ele não separa as visitas para diferentes usuários, mas as soma. Por que isso acontece?
E mais perguntas:
1. Como exatamente é criado o exe