`
erhuzi
  • 浏览: 6365 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

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

摘自 http://www.mianwww.com/html/2011/12/12414.html
分享到:
评论

相关推荐

    教师信息管理系统源代码

    jsp+select综合使用,主要是对教师信息实现增删改查的功能。 当用户访问一个JSP页面时,会向一个Servlet容器...如果用户有多个请求,则容器会建立多个线程处理多个请求;容器执行字节码文件(包括调用的servlet:form)

    java-servlet-api.doc

    例外的情况是这个Servlet执行了SingleThreadModel接口,如果是那样的话,Servlet只能同时处理一个请求。 Servlet依照Servlet引擎的映射来响应客户端的请求。一个映射对包括一个Servlet实例以及一个Servlet返回数据的...

    JSP/Servlet Java面试逻辑题

    一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)。 session是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求...

    2024年java面试题-tomcat面试题

    Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容 器、进程内的Servlet容器和进程外的Servlet容器。 进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类: Tomcat作为应用程序...

    异步servlet上传文件,解决网速慢以及大文件,耗完线程问题

    假如一个场景,用户上传文件,某些用户网速较慢,同时存在100个这样的用户,如果BIO且最大线程设为100会导致线程用完。NIO怎么来解决这个问题? 本实例采用tomcat8作为容器,开启异步servlet读写事件,解决高并发IO...

    Java™ Servlet 规范.

    1.2 什么是 Servlet 容器?...............................................................................................................................13 1.3 例子 .......................................

    javaEE中文api.J2EE中文API

    servlet 应该能够处理客户端选择不加入会话的情况 比如故意关闭 cookie 时 在客户端加入会话前 isNew 一直返回 true 如果客户端选择不加入会话 则 getSession 将对每个请求返回一个不同的会话 并且 isNew 将总是返回...

    JavaHttpServer:一个像tomcat等的servlet容器,可以运行这个项目下的web应用

    一个像tomcat等的servlet容器,可以运行这个项目下的web应用 config.xml :是配置文件,就像web-app在com.test中的web.xml一样 现在我们已经实现了:(1)连接器(实现多连接的HttpProcessor池)(2)容器(管道和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    4.23 处理多个输入文档 172 4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    4.23 处理多个输入文档 172 4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 ...

    Javaweb面试题.docx

    与cgi 的区别在于servlet 处于服务器进程中,它通过多线程方式运行其service 方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI 对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    4.23 处理多个输入文档 172 4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 ...

    JAVA笔试题目集合

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    4.23 处理多个输入文档 172 4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 ...

    tomcat中Servlet对象池介绍及如何使用

    如下图,这种情况下,Wrapper容器只会通过反射实例化一个Servlet对象,对应此Servlet的所有客户端请求都会共用此Servlet对象,而对于多个客户端请求tomcat会使用多线程处理,所以应该保证此Servlet对象的线程安全,...

    shibboleth-tomcat-dta-ssl:JSSE 实现可插入到 Tomcat servlet 容器中,以支持基于 SOAP 通道的 Shibboleth IdP 自定义客户端证书 SSL 处理

    shibboleth-tomcat-dta-ssl 该项目是作为 Unicon一部分开发的。 提供此模块的专业支持... Tomcat servlet 容器的多个版本的简单 JSSE 实现,需要客户端证书身份验证,但将证书的所有信任验证委托给接收请求的应用程序。

    Servlet3.1规范(最终版) PDF

    13 什么是Servlet容器?...............................................................................................................................13 例子...............................................

    Tomact 9.0资源包

    另 外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP 容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache 服务器。目前Tomcat最新版本为...

    JAVA-SSH面试题

    一个模型能为多个视图提供数据。这提高了应用程序的重用性 控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。 + 然后根据处理的结果调用相应的视图来显示处理的结果。 MVC的...

    servlicle:提供一个 Java Servlet,它将以一种体面的方式响应一个文件

    每个 Servlet 容器都有一个“默认”servlet,它会从您的 Web 应用程序返回一个文件,但前提是该文件存在于您的 Web 应用程序的 Web 存档空间中,这非常烦人。 对于文件来自其他地方的情况,您必须进行一些繁琐的流...

Global site tag (gtag.js) - Google Analytics