日期:2014-05-20  浏览次数:20646 次

一个关于Servlet实例个数的问题?
请问一下,听说服务器启动时会初始化Servlet,在关闭服务器时Servlet,那么我想问一下,一个应用程序有那么多Servlet,是不是每个Servlet都只有一个实例呢?


------解决方案--------------------
好像是只有一个实例,但是多个客户在访问的时候,会调用多线程的方法满足用户需求。
------解决方案--------------------
每个SERVLET在服务器关闭前各自最多只有一个实例存在
------解决方案--------------------
多线程,所以存在线程安全的问题
------解决方案--------------------
是一个servlet类,当客户端第一次要求访问这个类时,生产这个类的实例,且只有一个,
且整个生命周期仅初始化一次。
访问过程是多线程,通过service()调用doGet or doPost 等
当这个web application 被关掉或重新载入,destroy(),生命周期结束
------解决方案--------------------
只有一个实例,这个实例不要存在类的状态变量就不会存在线程安全问题。
------解决方案--------------------
那是必然会存在线程并发的问题,就要编写线程安全的SERVLET
------解决方案--------------------
AServlet extends HttpServlet{} 
BServlet extends HttpServlet{} 

这两个是不同的servlet,当然是两个。

他们的意思是对于不同用户的相同请求,是同一个servlet处理的