Servlet包含哪些主要方法,这些方法主要起什么作用

2025-02-26 20:03:53
推荐回答(2个)
回答1:

HttpServlet 类包含 init() 、 destroy() 、 service() 等方法。其中 init() 和 destroy() 方法是继承的。
(1) init() 方法
在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。 可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet 。 无论有多少客户机访问 Servlet ,都不会重复执行 init() 。
(2) service() 方法
service() 方法是 Servlet 的核心。每当一个客户请求一个 HttpServlet 对象,该对象的 service() 方法就要被调用,而且传递给这个方法一个“请求”( ServletRequest )对象和一个“响应”( ServletResponse )对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET ,则缺省情况下就调用 doGet() 。 Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。
(3) destroy() 方法
destroy() 方法仅执行一次,即在服务器停止且卸装 Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在文件中。另一个示例是关闭数据库连接。

回答2:

加载Servlet(Tomcat启动后)----实例化Servlet(客户端首次向Servlet发送访问请求时)----初始化(Tomcat调用Servlet实例的init(ServletConfig config)方法为实例初始化)----当服务器收到客户的请求时,针对每一个请求产生一个新的线程,调用service方法,service方法检查HTTP请求的类型(GET,POST,PUT,DELETE),并相应调用doGet,doPost,doPut,doDelete方法,同时将服务器产生的HttpServletRequest对象和HttpServletResponse对象以参数的形式传递给这些函数。----在移除Servlet实例之前,服务器调用Servlet的destroy方法,从而使Servlet关闭数据库连接,关闭打开的文件,停止后台运行的线程