栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Servlet容器是否应该为每个传入请求创建新的javax.servlet.http.HttpServlet实例?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Servlet容器是否应该为每个传入请求创建新的javax.servlet.http.HttpServlet实例?

对于一般情况-非分布式,多线程的,可以保证只有servlet的一个实例。根据Servlet 3.0规范:

2.1请求处理方法

基本的Servlet接口定义了用于处理客户端请求的服务方法。对于servlet容器路由到servlet实例的每个请求,都会调用此方法。处理对Web应用程序的并发请求通常需要Web
Developer设计Servlet,这些Servlet可以处理在特定时间在服务方法内执行的多个线程。通常,Web容器通过在不同线程上并发执行service方法来处理对同一servlet的并发请求。

2.2实例数

Servlet声明(通过第8章“注释和可插入性”中所述的批注或第14章“ Deployment
Descriptor”中描述的包含该Servlet的Web应用程序的部署描述符的一部分)控制Servlet容器的方式提供Servlet的实例。
对于未在分布式环境中托管的servlet(默认设置),每个servlet声明中servlet容器只能使用一个实例
。但是,对于实现SingleThreadModel接口的servlet,该servlet容器可以实例化多个实例以处理繁重的请求负载并序列化对特定实例的请求。

如果将servlet作为部署描述符中标记为可分发的应用程序的一部分进行部署,则每个Java虚拟机(JVM™)1的每个servlet声明中,一个容器只能具有一个实例。但是,如果可分发应用程序中的Servlet实现SingleThreadModel接口,则容器可以在容器的每个JVM中实例化该Servlet的多个实例。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495208.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号