Cómo funcionan los servlets: creación, sesiones, variables compartidas y multihilo
¡Hola a todos! Acabo de empezar a estudiar Java EE y servlets, pero estoy confundido con algunos conceptos fundamentales. ¿Podéis explicarlo de forma sencilla?
Tengo un servlet simple que cuenta el número de visitas a una página. Esperaba que cada usuario viera su propio contador, pero en realidad funciona de forma extraña.
Aquí está mi 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("Has visitado esta página " + counter + " vez(ces)");
}
}
```
Lo abrí en dos navegadores diferentes (Chrome y Firefox). En el primer navegador, recargué la página 3 veces — el contador mostró 3. Luego, en el segundo navegador, recargué una vez — ¡y el contador se convirtió en 4! Es decir, no separa las visitas para diferentes usuarios, sino que las suma. ¿Por qué ocurre esto?
Y también tengo preguntas:
1. ¿Cómo se crea exactamente un ej