Avatar ·

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