方法1.实现 SingleThreadModel 接口(不推荐,官方已经将这个接口废弃)
public class MyServlet extends HttpServlet implements SingleThreadModel{ public MyServlet(){ System.out.println("MyServlet构造函数调用了"); } @Override public void init() throws ServletException { System.out.println("MyServlet初始化"); } }
SingleThreadModel的意思是“单线程模式”,如果servlet实现了该接口,会确保不会有两个线程同时执行servlet的service方法。
servlet容器通过同步化访问servlet的单实例来保证,也可以通过维持servlet的实例池,对于新的请求会分配给一个空闲的servlet。源码中,最多会生成20个实例。
方法2. 在web.xml中多配置一个Servlet
哪怕是同一个Servlet,你在web.xml中配置几个,就会有几个实例。