JAVA中关于servlet的工作原理

本文深入解析Servlet的运行机制,从请求拦截、初始化、服务调用到销毁过程,详细阐述了Servlet对象的单例多线程特性及如何在生命周期内高效响应用户请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

servlet 工作原理:


       tomcat首先会拦截到我的请求,并根据我的请求封装请求对象和响应对象,找到我的servlet,当servlet未被创建的时候,它会自动去调用无参的构造完成创建,创建完成后紧接着会调servlet中的init()方法完成这个对象的初始化,init()方法里封装了一个ServletConfig 对象,我们称之为初始化对象,通过初始化对象我们可以得到在web.xml中配置的初始化参数,然后对我的成员变量完成初始化,调用完init()方法之后,它会调用service()方法并将请求对象和响应对象转交给我的service,service会根据用户的请求去调用doget()、dopost()或其他do方法。当我第二次再访问servlet的时候,当我的servlet对象已经存在的时候,它会直接去调我的service()方法,并将请求对
象和相应对象转交给我的servlet,所以servlet在容器中是单例多线程的,当tomcat每次去调servlet的时候,它会给servlet对应启动一个线程来完成动作,当servlet的整个生命周期结束的时候,它会默认调用我的destory()方法完成servlet的销毁,所以在servlet中构造方法和init()方法都只能调用一次,它会通过service()方法不停的去调doget()或dopost()方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值