美文网首页Java小白翻身
如何证明Servlet是单例的

如何证明Servlet是单例的

作者: 剽悍一小兔 | 来源:发表于2021-06-20 16:04 被阅读0次

    Servlet虽然基础,但是也经常会被问到,掌握其原理是很有必要的。

    Servlet一般都是单例的,并且是多线程的。如何证明Servlet是单例模式呢?很简单,重写Servlet的init方法,或者添加一个构造方法。然后,在web.xml中配置。如:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
    
      <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>web.MyServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
      </servlet-mapping>
    
    </web-app>
    

    然后是MyServlet

    public class MyServlet extends HttpServlet{
    
        public MyServlet(){
            System.out.println("MyServlet构造函数调用了");
        }
    
        @Override
        public void init() throws ServletException {
            System.out.println("MyServlet初始化");
        }
    
    }
    

    启动Tomcat,不管你访问多少次这个Servlet,init方法和构造器都只会执行1次。

    image

    相关文章

      网友评论

        本文标题:如何证明Servlet是单例的

        本文链接:https://www.haomeiwen.com/subject/balsyltx.html