Como funcionam os servlets: criação, sessões, variáveis compartilhadas e multithreading
Olá a todos! Comecei a aprender sobre Java EE e servlets, e estou completamente confuso. Escrevi um servlet simples para contar visitas à página, mas ele se comporta de forma estranha. Aqui está meu código:
```java
@WebServlet("/counter")
public class CounterServlet extends HttpServlet {
private int counter = 0; // variável de instância
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
counter++;
resp.getWriter().println("Visits: " + counter);
}
}
```
Quando abro a página em duas abas diferentes do navegador, o contador aumenta em 2 ou até mais de uma vez. Eu pensei que para cada usuário era criada uma instância própria do servlet, mas parece que não é o caso.
Também não entendo:
1. Quando exatamente o servlet é criado? Uma vez na inicialização ou a cada requisição?
2. Como funcionam as sessões? Quero contar as visitas para cada usuário separadamente.
3. Se o servlet é
No answers yet.
Faça login para deixar uma resposta
Blogs
Tratamento de erros em Kotlin: try/catch e técnicas avançadas