Comment fonctionnent les servlets : création, sessions, variables partagées et multithreading
Bonjour à tous ! Je viens de commencer à étudier Java EE et les servlets, mais je suis confus sur certains concepts fondamentaux. Pouvez-vous m'expliquer simplement ?
J'ai un servlet simple qui compte le nombre de visites d'une page. Je m'attendais à ce que chaque utilisateur voie son propre compteur, mais en réalité, tout fonctionne étrangement.
Voici mon code :
```java
public class CounterServlet extends HttpServlet {
private int counter = 0;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
counter++;
response.getWriter().println("Vous avez visité cette page " + counter + " fois");
}
}
```
Je l'ai ouvert dans deux navigateurs différents (Chrome et Firefox). Dans le premier navigateur, j'ai actualisé la page 3 fois — le compteur a affiché 3. Puis dans le second navigateur, j'ai actualisé une fois — et le compteur est devenu 4 ! Donc il ne sépare pas les visites pour différents utilisateurs, mais les additionne. Pourquoi ?
Et d'autres questions :
1. Comment exactement est créée l'instance...