Java Servlet 的生命周期主要由 Servlet 容器(如 Tomcat) 管理,分为几个明确的阶段。简单说就是:加载 → 初始化 → 处理请求 → 销毁。
Servlet 是单例多线程的
init()public void init(ServletConfig config) throws ServletException
✅ 只执行一次
service()protected void service(HttpServletRequest req, HttpServletResponse resp)
doGet()doPost()doPut()doDelete()⚠️ 多线程并发执行,注意线程安全
destroy()public void destroy()
✅ 只执行一次
容器启动
↓
(首次请求)
加载 Servlet 类
↓
创建 Servlet 实例
↓
init()
↓
service() ← 多次
↓
destroy()
✅ Servlet 只实例化一次
✅ init() 和 destroy() 只执行一次
✅ service() 每次请求都会执行
✅ 默认是懒加载(第一次访问才创建)
Q:Servlet 是线程安全的吗?
❌ 不是,多个请求共享同一个 Servlet 实例
Q:如何让 Servlet 容器启动时初始化?
@WebServlet(loadOnStartup = 1)
如果你愿意,我也可以:
你想看哪个?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。