servlet是单例的吗
servlet是单例的吗?
你好!
在servlet容器中只有一个servlet实例,处理不同的request请求。request-response请求相应是一一对应的。并且,request请求被服务器处理过后产生response给浏览器,request请求的生命周期就结束了。所以不存在数据冲突。
就像socket编程中的服务端口一样,只有一个,来一个请求,就开启一个线程去为这个请求服务。
仅代表个人观点,不喜勿喷,谢谢。
一般来说,servlet是单例的,同一个实例可以同时有多个用户访问,这个没有任何问题。问题在于servlet是否有状态,对这些状态的访问是否必须是synchronized的。如果是,那么在同一个时间就只有一个用户可以访问这些状态了,这就大大降低了性能。所以一般来说servlet都是无状态的。