Servlet什么时候实例化?destory到底摧毁的是什么?

servlet被实例化

1.Servlet第一次实例化 默认 是在 第一次客户端访问服务程序时,并不是启动如tomcat这种服务器时。如果是在服务器启动时实例化servlet,那么如果servlet过多,则会发生内存溢出。(请求的时候才会实例化那一个专门的servlet

 
2.什么是servlet?
servelt其实就是一个服务程序,运行在服务器上。所有的servlet都放在servlet容器中,当我们请求服务器的时候,服务器就会去servlet容器找到我们指定的servlet,然后实例化这个servlet,最后进行数据操作或者响应。

 

servlet容器

我们在使用B/S模型(浏览器-服务器模型)时,我们的Servlet是会去继承HttpServlet的,所以,我们使用的是Servlet的子类创建的对象,然后将这些servlet对象放在servlet容器中。(servlet容器里面放的是servlet的子类对象

 

destory

其实,很明显的是,我们摧毁的不可能是servlet这个父类,因为这个servlet只能实例化一次。所以,个人理解的是:

 
servlet容器里面都是servlet子类的对象,当我们修改当前servlet服务程序的逻辑结构或者顺序(修改程序)时,我们的服务器就会更新(reloading),这个时候,我们就会执行这个destory方法,摧毁当前servlet(子类对象),然后当我们再次请求到这个servlet时,就会重新执行构造方法、init方法、service方法。

只有当我们直接关闭服务器时,才会一次直接销毁所有的servlet

如果有什么问题,欢迎讨论,感觉这个还是有点迷糊的!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值