servlet原理

Servlet的生命周期:
  

1.      Servlet在web服务器启动时被加载并实例化,容器运行其init方法初始化,请求到达时运行其service方法;

  

2.      service运行请求对应的doXXX(doGet,doPost)方法;

  

3.      服务器销毁实例,运行其destory方法;

 
 Servlet的生命周期由Servlet容器管理;

  

Servlet是如何处理多个请求同时访问的呢?


Servlet容器默认是采用单实例多线程的方式处理多个请求的:

1.      当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);


2.      容器初始化Servlet。主要就是读取配置文件(例如tomcat,可以通过servlet.xml的<Connector>设置线程池中线程数目,初始化线程池;通过web.xml,初始化每个参数值等等);


3.      当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread)调度它管理下的线程池中等待执行的线程(Worker Thread)给请求者;


4.      线程执行Servlet的service方法;


5.      请求结束,放回线程池,等到被调用;

原文地址:https://www.cnblogs.com/lnas01/p/5503898.html