单个Servlet如何处理以用户请求形式出现的多个客户端请求?基于单例设计模式,我知道我们创建了一个servlet实例,但是单个servlet如何处理数百万个请求。对其所涉及的线程也感到困惑。
同样,这里提供了任何浏览器规范或设置,可用于跨请求发送请求或生成针对请求发送的线程。
所有框架都相同还是不同(例如,struts v / s springs)?
Struts / Spring框架实际上是在Servlet规范之上编写的,因此无论您在其下使用Servlet是什么都无所谓。
没错,仅创建了Servlet的单个实例,但是该实例在多个线程之间共享。因此,您不应该在Servlet中共享共享的可变状态。
例如,您已将以下servlet映射到 http://localhost/myservlet
http://localhost/myservlet
class MySerlvet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { // Get Logic } }
Web服务器的代码中将具有相似的内容(不一定相同)。
MyServlet m = new MyServlet(); // This will be created once // for each request for http://localhost/myservlet executorService.submit(new RequestProcessingThread(m));