务器端资源。例如,可能编写一个定制i
it来只用于一次装入GIF图像,改进Servlet返回GIF图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的i
it方法设置了Servlet的初始化参数,并用它的ServletCo
fig对象参数来启动配置,因此所有覆盖i
it方法的Servlet应调用superi
it以确保仍然执行这些任务。在调用service方法之前,应确保已完成了i
it方法。2service方法service方法是Servlet的核心。每当一个客户请求一个HttpServlet对象,该对象的service方法就要被调用,而且传递给这个方法一个“请求”ServletRequest)对象(和一个“响应”ServletRespo
se)(对象作为参数。在HttpServlet中已存在service方法。缺省的服务功能是调用与HTTP请求的方法相应的do功能。例如,如果HTTP请求方法为GET,则缺省情况下就调用doGet。Servlet应该为Servlet支持的HTTP方法覆盖do功能。因为HttpServletservice方法会检查请求方法是否调用了适当的处理方法,不必要覆盖service方法。只需覆盖相应的do方法就可以了。当一个客户通过HTML表单发出一个HTTPPOST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost方法。当一个客户通过HTML表单发出一个HTTPGET请求或直接请求一个URL时,doGet方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet方法。Servlet的响应可以是下列几种类型:一个输出流,浏览器根据它的内容类型(如textHTML)进行解释。一个HTTP错误响应重定向到另一个URL、servlet、JSP。3destroy方法destroy方法仅执行一次,即在服务器停止且卸装Servlet时执行该方法。典型的,将Servlet作为服务器进程的一部分来关闭。缺省的destroy方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果Servlet在运行时会累计统计数据,则可以编写一个destroy方法,该方法用于在未装入Servlet时将统计数字保存在文件中。另一个示例是关闭数据库连接。当服务器卸装Servlet时,将在所有service方法调用完成后,或在指定的时间间隔过后调用destroy方法。一个Servlet在运行service方法时可能会产生其它的线程,
f因此请确认在调用destroy方法时,这些线程已终止或完成。4GetServletCo
fig()方法GetServletCo
fig()方法返回一个ServletCo
fig对象,该对象用来返回初r