简述servlet的生命周期(servlet主要功能和生命周期介绍)

 分类:IT知识时间:2023-03-12 07:31:04点击:

作为JAVA编程基础,servlet入门知识比不可少,本文叙述了servlet主要功能及servlet生命周期,供学习或者工作中参考。


1、主要功能

Servlet用于替代CGI,因此具有CGI类似的功能:

  • 获取浏览器上传的用户数据,例如网页上的 HTML 表单(也可以是来自 applet 或自定义的 HTTP 客户端程序的表单)。
  • 获取浏览器上传的HTTP请求数据,包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
  • 处理这些上行数据并生成结果,包括访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务。
  • 下发用户响应数据到浏览器,例如文本文件(HTML 、XML、JSON)、图片、流媒体等。
  • 下发 HTTP响应数据到浏览器,包括返回文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。

2、生命周期

Servlet 生命周期是从创建直到毁灭的整个过程,过程包括:

  • init () 方法:初始化,只调用一次。
  • service() 方法:处理客户端的请求,每收到一次请求,服务器新产生一个线程来处理。
  • destroy() 方法: 终止,只调用一次。
  • 垃圾回收:JVM 的垃圾回收器负责最后的垃圾回收。

生命周期示意图如下:

service() 方法可以调用的HTTP请求方法:

  • doGet() 方法

对应HTTP GET 请求,来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单:

publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException { // Servlet 代码}
  • doPost() 方法

对应HTTP POST 请求,来自于一个特别指定了 METHOD 为 POST 的 HTML 表单:

publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException { // Servlet 代码}
除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: