Servlet的工作原理:创建、会话、共享变量和多线程
```html
大家好!我刚开始学习Java EE和Сервлеты,但在一些基础概念上感到困惑。能简单解释一下吗?
我有一个简单的Сервлет,用来统计页面访问次数。我原以为每个用户会看到自己的计数器,但实际上运行结果很奇怪。
这是我的代码:
```java
public class CounterServlet extends HttpServlet {
private int counter = 0;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
counter++;
response.getWriter().println("您访问了此页面 " + counter + " 次");
}
}
```
我在两个不同的浏览器(Chrome和Firefox)中打开了它。在第一个浏览器中刷新了3次——计数器显示为3。然后在第二个浏览器中刷新了一次——计数器变成了4!也就是说,它并没有区分不同用户的访问,而是将它们累加了。为什么会这样?
还有几个问题:
1. 具体是如何创建实例的?
```