当我们在Servlet
页面或JSP
类中创建Java
对象时,它是如何在内部工作的?它会如何影响性能?
你不应该像我们通常那样通过new
关键字显式地调用servlet。在servlet的情况下,servlet容器负责实例化servlet。
对于Web应用程序的部署描述符中定义的每个servlet,servlet容器定位并加载servlet类型的类。这可能在servlet引擎本身启动时发生,或者在客户端请求实际委托给servlet时发生。
只有一个实例同时回答所有请求。这节省了内存并允许Servlet轻松管理持久数据。
当在Servlet
页面或JSP
类中创建Java
对象时,
你不能指望它作为一个Servlet。
有关详细信息,请参阅BalusC's answer。
我们可以创建servlet类的对象。但是因为servlet操作依赖于web容器提供的servlet上下文,请求,响应等,所以在容器环境之外创建一个没有任何东西可以获得。
在一句话中 - 通过这样做,我们不能指望作为servlet工作。