面试题:如何让Servlet变成多例?

简介: 面试题:如何让Servlet变成多例?

方法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中配置几个,就会有几个实例。

相关文章
|
安全 前端开发 Java
Java面试题日积月累(jsp/Servlet面试题20道)
Java面试题日积月累(jsp/Servlet面试题20道)
93 0
|
6月前
|
Java
servlet生命周期面试题
servlet生命周期面试题
|
前端开发 Java 容器
每日一道面试题之jsp 和 servlet 有什么区别?
每日一道面试题之jsp 和 servlet 有什么区别?
|
设计模式 安全 前端开发
Servlet面试题(一)
Servlet面试题(一)
113 2
|
Java 程序员 容器
Java 最常见的面试题:jsp 和 servlet 有什么区别?
Java 最常见的面试题:jsp 和 servlet 有什么区别?
|
前端开发 安全 IDE
拿下BAT的offer,这篇汇总的Servlet常见面试题正适合你
这篇文章主要是对servlet的运行过程进行一个分析。涉及了一些基本的用法和常见的面试题。
198 0
拿下BAT的offer,这篇汇总的Servlet常见面试题正适合你
|
Java API 容器
面试题系列之Servlet API中forward()与redirect()的区别
forward()与redirect()是servlet的两种主要的跳转方式。forward又叫转发,redirect叫做重定向。
206 0
面试题系列之Servlet API中forward()与redirect()的区别
|
存储 XML 安全
Tomcat+Servlet面试题都在这里(修订版)(二)
下面是我整理下来的Servlet知识点:
110 0
Tomcat+Servlet面试题都在这里(修订版)(二)
|
XML Java 应用服务中间件
Tomcat+Servlet面试题都在这里(修订版)(一)
下面是我整理下来的Servlet知识点:
152 0
Tomcat+Servlet面试题都在这里(修订版)(一)
|
4月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
41 3