Servlet容器如何同时来处理多个请求

工作者线程Work Thread:执行代码的一组线程
调度线程Dispatcher Thread:每个线程都具有分配给它的线程优先级,线程是根据优先级调度执行的
Servlet采用多线程来处理多个请求同时访问。servlet依赖于一个线程池来服务请求。线程池实际上是一系列的工作者线程集合。Servlet使用一个调度线程来管理工作者线程.
当容器收到一个Servlet请求,调度线程从线程池中选出一个工作者线程,将请求传递给该工作者线程,然后由该线程来执行Servlet的service方法。当这个线程正在执行的时候,容器收到另外一个请求,调度线程同样从线程池中选出另一个工作者线程来服务新的请求,容器并不关心这个请求是否访问的是同一个Servlet.当容器同时收到对同一个Servlet的多个请求的时候,那么这个Servlet的service()方法将在多线程中并发执行。
Servlet容器默认采用单实例多线程的方式来处理请求,这样减少产生Servlet实例的开销,提升了对请求的响应时间,对于Tomcat可以在server.xml中通过元素设置线程池中线程的数目。
就实现来说:
调度者线程类所担负的责任如其名字,该类的责任是调度线程,只需要利用自己的属性完成自己的责任。所以该类是承担了责任的,并且该类的责任又集中到唯一的单体对象中。
而其他对象又依赖于该特定对象所承担的责任,我们就需要得到该特定对象。那该类就是一个单例模式的实现了。

时间: 2024-11-07 14:10:23

Servlet容器如何同时来处理多个请求的相关文章

Servlet容器container

通俗点说,所谓容器,就是放东西的地方.Servlet容器自然就是放Servlet的地方.J2EE开发,是有分工的.一般的程序员,写得都是应用开发,我们会按照一定的规则,开发我们的系统,比如用Servlet开发,我们就要按照Servlet的规则写代码. 那么我们写的代码就是在Servlet容器中运行.容器会按照规则加载类,并运行它. 有一部份程序员就是写容器的,如Tomcate就是web容器.tomcat就是一个Servlet容器. servlet容器基本概念:1,Tomcat是Servlet的运

Servlet学习教程(一)----什么是Servlet以及Servlet容器

官方规范翻译过来的. Servlet是基于Java技术的web组件,容器托管的,用于生成动态内容.像其他基于Java的组件技术一样,Servlet也是基于平台无关的Java类格式,被编译为平台无关的字节码,可以被基于Java技术的web server动态加载并运行.容器,有时候也叫做servlet引擎,是web server为支持servlet功能扩展的部分.客户端通过Servlet容器实现的请求/应答模型与Servlet交互. Servlet容器是web server或application

Servlet 容器如何处理请求资源路径

一.什么是请求资源路径 在浏览器地址栏中输入的地址格式如下: http://ip:port/appName/xx.html 其中appName/xx.html 即为请求资源路径 二.Web服务器对请求路径的处理过程 在浏览器地址栏中输入http://ip:port/appName/xx.html 浏览器依据ip,port建立与Servlet容器之间的连接,然后将请求资源路径appName/xx.html 发送过去给容器 容器依据应用名"/appName"找到应用所在的文件夹,容器会默认

一个简单servlet容器

一个简单servlet容器 2.1 javax.servlet.Servlet接口 Servlet编程需要使用javax.servlet和javax.servlet.http两个包下的接口和类 在所有的类中javax.servlet.Servlet接口是最重要的.所有的servlet程序都必须实现该接口或继承实现了该接口的类 tomcat8中该接口如下: package javax.servlet; import java.io.IOException; public interface Ser

什么是Servlet容器?

在本文中,我写了一些关于Web服务器.Servlet容器以及它与JVM的关系的基本概念.我想表达的是,Servlet容器也仅仅不过是一个Java程序. 1. 什么是Web服务器? 想要知道什么是Servlet容器,我们首先要知道什么是Web服务器. Web服务器使用HTTP协议来传输数据.最简单的一种情况是,用户在浏览器(客户端,client)中输入一个URL(如,www.programcreek.com/static.html),然后就能获取网页进行阅览.因此,服务器完成的工作就是发送网页至客

Java Web —— servlet 容器

要想了解什么是 Servlet 容器,我们得先了解什么的 Web 服务器. 一.Web 服务器 Web 服务器是使用 HTTP 协议来传输数据的,其中最简单的一种情况就是用会在 client 中输入一个 URL ,然后通过网页进行浏览,在网页中可以看到你编写的界面,因此,服务器的工作就是发送网页到客户端. 二.Servlet 容器 单单使用 Web 服务器的话,我们会发现用户和客户端只能向服务器请求静态的网页.如果说用户想根据自己的输入来读取网页的话就不能单单需要 Web 服务器来发送网页,这个

web容器与servlet容器

1. web容器好比   电视机 servlet容器好比   VCD 没有VCD你可以看电视,对吧,但是有了VCD没有电视机,你从哪看起?:) 没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示jsp/servlet,你就要安装一个  servlet容器了,但是光有servlet容器是不够的,因为它要被解析成html输出,所以你仍需要一个web容器. 大多数servlet容器同时提供了web容器的功能,也就是说大多servelt可以独立运行你

Web服务器(Apache)与Servlet容器(Tomcat)

之前一直比较迷惑Apache与Tomcat的关系,通过查询资料,有所了解,现记录于此. Apache与Tomcat 两者定位:Apache是HTTP Web服务器,Tomcat是Web容器. 有一个非常形象的比喻:Apache是一辆车,可以装载静态的物件(HTML静态网页等):但不能装动态的水(JSP.CGI等),要装水就需要桶(容器),当然桶也可以不放在车上而单独存放,则该容器即为Tomcat. 两者的主要区别: Apache是世界上最流行的Web服务器(其次是微软的IIS),可以处理浏览器的

探秘Tomcat——一个简易的Servlet容器

即便再简陋的服务器也是服务器,今天就来循着书本的第二章来看看如何实现一个servlet容器. 背景知识 既然说到servlet容器这个名词,我们首先要了解它到底是什么. servlet 相比你或多或少有所了解.servlet是用java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者. 容器 容器的概念很大,在这里