核心:
Tomcat 维护着一个 HashMap 集合
键:保存的是 servlet-name
值:保存的是 servlet 对象
经过分析 Servlet 对象实例是单例的
因为它保存在 Tomcat 维护的 HashMap 集合中
第 1 次请求
先从 Tomcat 维护的 HashMap 集合中查找
如果没有找到,则通过 web.xml 的标签得到该 Servlet 类的全路径
通过反射创建 servlet 对象
将该对象添加到 Tomcat 维护的 HashMap 集合中
并调用初始化init 方法
以及 service 方法
第 2 次以及以后请求
优先从 Tomcat 维护的 HashMap 集合中查找 Servlet 对象,
如果找到了则再次调用 service 方法
如果没有找到则返回给浏览器 404 表示没有找到