千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:重庆千锋IT培训  >  技术干货  >  什么是servlet的生命周期?servlet请求处理流程是怎样的?

什么是servlet的生命周期?servlet请求处理流程是怎样的?

来源:千锋教育
发布人:lxl
时间: 2023-05-30 10:45:41

servlet的生命周期

  Servlet实例的生命周期

  当客户端的请求到达Tomcat,Tomcat会创建一个线程来接收、处理、响应客户端请求,客户端在请求某个Servlet类时,线程需要通过这个Servlet类的实例来调用service方法、调用doGet/doPost..方法来处理响应请求,这个Servlet类的实例是何时创建、何时销毁的呢?

  Servlet实例的生命周期指的是一个Servlet类的实例从创建到销毁的过程。

  Servlet类是单实例多线程的,一个Servlet类自始至终只会创建一个对象;

  如果当前Servlet类没有配置

**<load-on-startup>1</load-on-startup>**:

   当客户端第一次请求Servlet时,创建当前Servlet类的实例,然后使用这个实例调用service(ServletRequest, ServletResponse)方法——service(HttpServletRequest, HttpServletResponse)方法——doGet/doPost处理客户端请求;当客户端请求再次到达时将不会重新创建Servlet实例,直接使用第一次创建的实例调用方法进行响应;

  如果当前Servlet类配置了

**<load-on-startup>1</load-on-startup>**:

   当服务器启动时就会创建Servlet类的实例,无论客户端第一次请求这个Servlet类,还是再次请求都不会创建Servlet类实例,直接使用服务器启动时创建的Servlet实例来接收、处理、响应客户端请求;

  当服务器关闭时,Serlvet类的实例会被销毁。

  配置load-on-startup的两种方式:

  xml配置

<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>com.qfedu.servlets.TestServlet</servlet-class>
<!--如果有多个Servlet都配置了load-on-startup,里面的数字就是在服务器中创建实例的顺序-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>

   注解配置

@WebServlet(value = "/test",loadOnStartup = 1)

 

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

如何进行mysql数据备份?

2023-05-30

从零开始学Java之Java中的内部类是怎么回事?

2023-05-29

什么是事件流以及事件流的传播机制 ?

2023-05-29

最新文章NEW

什么是servlet的生命周期?servlet请求处理流程是怎样的?

2023-05-30

在java中,super关键字怎样使用

2023-05-29

什么是JavaScript伪数组?

2023-05-25

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>