关于servlet 只有一个对象这句话该怎么去理解?

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:20:29

怎么说呢,

servlet 的实质就是对请求(request)进行处理 然后返回答复(response)

其他的所有属性都可以 看做是 请求(request)的属性,session之类,

得到属性也基本都是 request.getXXXX,

response 很少用到,

所以可以说servlet 只有一个属性

我刚刚写了第二段写了一大堆,后来发现那么说并不能说明servlet只有一个对象这个问题。其实容器可以为每一个请求都创建一个servlet实例,但是你想过没有,服务器每秒都要处理成千上万的请求,这样实例化servlet很快就会消耗完服务器的的内存和处理资源,所以我们要优化,来提高效率,所以servlet就优化成尽可能少地创建同一servlet实例,通常只为一个servlet创建一个实例,并重用这个实例来处理所有到来的请求。
第一次访问一个servlet时会创建它的一个实例,然后容器会通过调用该servlet的init()方法对servlet实例进行初始化,具体的你可以看看servlet的生命周期。无论你有多少请求,你请求的都是一个servlet对象,直到该servlet对象被销毁为止。

不清楚

servlet 对象你难道创建过? 因为它是服务器创建的 因此用了就销毁了
请求的时候再创建