1
Servlet API
(1) public void init(ServletConfig config)
作用:
在 Servlet 实例化之后,Servlet 容器会调用 init(),来初始化该对象,主
要是为了让 Servlet 对象在处理客户请求前可以完成一些初始化的工作。例如:
建立数据库的连接,获取配置信息等。对于每一个 Servlet 实例,init()方法只
能被调用一次。init()方法有一个类型为 ServletConfig 的参数,Servlet 容器
通过这个参数向 Servlet 传递配置信息。Servlet 使用 ServletConfig 对象从
Web 应用程序的配置信息中获取以名-值对形式提供的初始化参数。另外,在
Servlet 中,还可以通过它获取描述 Servlet 运行环境的 ServletContext 对象,
使用该对象,Servlet 可以和它的 Servlet 容器进行通信。
(2)public void service(ServletRequest request,ServletResponse
response)
作用:
容器调用 service()方法来处理客户端的请求。要注意的是,在 service()
方法被容器调用之前,必须确保 init()方法正确完成。容器会构造一个表示客
户端请求信息的请求对象(类型为 ServletRequest)和一个用于对客户端进行
响应的响应对象(类型为 ServletResponse)作为参数传递给 service()方法。
在 service()方法中,Servlet 对象通过 ServletRequest 对象得到客户端的相关
信息和请求信息,在对请求进行处理后,调用 ServletResponse 对象的方法设置
响应信息。
(3)public void destroy()
作用:
当容器检测到一个 Servlet 对象应该从服务器中被移除的时候,容器会调用
该对象的 destroy()方法,以便让 Servlet 对象可以释放它所使用的资源,保存
数据到持久存储设备中,例如:将内存中的数据保存到数据库中,关闭数据库的
连接等。当需要释放内存或者容器关闭时,容器就会调用 Servlet 对象的
destroy()方法。在 Servlet 容器调用 destroy()方法前,如果还有其他的线程
正在 service()方法中执行,容器会等待这些线程执行完毕或等待服务器设定的
超时值到达。一旦 Servlet 对象的 destroy()方法被调用,容器不会再把其他的
请求发送给该对象。如果需要该 Servlet 再次为客户端服务,容器将会重新产生
一个 Servlet 对象来处理客户端的请求。在 destroy()方法调用之后,容器会释
放这个 Servlet 对象,在随后的时间内,该对象会被 Java 的垃圾收集器所回收。
(4)public ServletConfig getServletConfig()
作用:
该方法返回容器调用 init()方法时传递给 Servlet 对象的 ServletConfig
对象,ServletConfig 对象包含了 Servlet 的初始化参数。
(5)public String getServletInfo()
作用:
返回一个 String 类型的字符串,其中包括了关于 Servlet 的信息,例如,
作者、版本和版权。该方法返回的应该是纯文本字符串,而不是任何类型的标记