单个 servlet 如何处理以用户请求形式出现的多个客户端请求?基于单例设计模式,我知道我们创建了单个 servlet 实例,但是单个 servlet 如何处理数百万个请求。也对其中涉及的线程感到困惑。
此外,是否有任何浏览器规范或设置在这里可以方便地发送请求或生成为请求发送的线程。
对于所有框架来说都是一样的还是不同的,例如 struts v/s springs ?
每个请求都在单独的线程中处理。这并不意味着 Tomcat 为每个请求创建一个新线程。有一个线程池来处理请求。此外,每个 servlet 都有一个实例,这是默认情况。(更多信息 https://stackoverflow.com/questions/12509830/does-each-request-access-the-same-servlet-object)。
你的servlet应该是Thread Safe
即它应该是无国籍的。
如果您的 servlet 实现SingleThreadModel
接口,每个线程使用单独的 servlet 实例。SingleThreadModel已弃用 http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/SingleThreadModel.html,不要使用它。
我将这个答案作为社区维基做出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)