首页 > 其他 > 详细

关于servlet的实例化

时间:2020-01-08 12:35:11      阅读:74      评论:0      收藏:0      [点我收藏+]

看项目的源码,只能看到servlet有多少个方法,其实现类也没有进行实例化或者调用init的方法,感觉很奇怪。

 

后面看到一篇文章,介绍tomcat的源码才知道servlet的实例化是再tomcat中。

主要是这个类:org.apache.catalina.core.StandardWrapper

其中主要是判断servlet是否实例化过,这个方法加了锁,如果有,则返回当前实例,所以,servlet是是非线程安全的,如果有多个线程使用这个servlet,就需要小心了。

 

tomcat是servlet的容器,tomcat启动后,加载容器内的所有应用。当一个应用被加载时,servlet容器会创建一个ServletContext,然后将它放在内存中(即只有一个实例,不会过期),然后加载每个应用的web.xml文件,根据配置,实例化servlet。

将他们放在server的内存中。在创建的时候,init()方法会被调用,应用退出,则调用destory()方法。

关于servlet的实例化

原文:https://www.cnblogs.com/zkj1204/p/12165706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!