转自:http://www.cnblogs.com/johnny/articles/18324.html
Servlet接口的简述:
定义了所有servlets对象都必须实现的方法。
一个servlet就是一个在Web服务器运行的小Java程序,Servlets从Web客户端接收请求并产生响应,通常使用HTTP协议。
实现这个接口,你可以写一个普通的servlet扩展javax.servlet.GenericServlet类或者写一个HTTP Servlet扩展javax.servlet.http.HttpServlet类。
该接口定义初始化一个Servlet的方法,对请求提供服务的方法,和从一个server中移除一个servlet的方法。这些方法被看作是”生命周期“方法。
这些方法的调用顺序如下:
1.当一个servlet构造时,调用init()方法初始化servlet
2.当客户端发出请求时,调用service()方法
3.当servlet服务完成后,调用destroy()方法,gc(垃圾回收)方法和finalized()方法
此外,改接口还提供一个能够让servlet获得启动信息的方法——getServeltConfig,一个允许servlet返回自己基本信息的方法——getServletInfo,这些基本信息如:作者、版本号、版权等。
init()方法概述:public void init(ServletConfig config) throws ServletException
该方法由servlet容器在servlet被置于服务当中时被唤起,当servlet被实例化后,
init()方法随即被唤起,在inif()方法完成之前,servlet无法接收任何请求。
当init()方法在遇到以下两种情况,servlet无法被servlet容器置于服务当中:
1.方法抛出一个ServletException例外
2.方法在超过Web服务器定义的时间后仍然没有返回(即方法请求超时)
getServletConfig()方法概述:public ServletConfig getServletConfig()
该方法返回一个ServletConfig对象,该对象包含有该servlet的初始化和启动参数,
该返回对象ServletConfig与传递给inif()方法的参量一致。
service()方法概述:public void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOException
该方法由servlet容器调用以允许servlet对请求进行响应。
该方法只在init()方法被成功完成之后才会被调用。
servlets在多线程机制的servlet容器中运行,因而可以同时处理多个请求,开发者可以同步访问共享资源,如:文件、网络连接、servlet类、实例变量等。
getServletInfo()方法概述:public java.lang.String getServletInfo()
该方法返回servlet信息,如:作者、版本号、版权等。返回的字符串必须是纯文本,不能包括任何标记语言(如:HTML、XML等等)。
destroy()方法概述:public void destroy()
由servlet容器调用以确保一个servlet已经停止服务。这个方法只在所有在servlet的service()方法的线程已经被执行或者超时的时候才会被唤起。一旦调用了该方法,该servlet就不再调用service()方法了。
该方法用于清理已占用资源(如:内存、文件句柄、线程等),同时确保持久性状态与内存中servlet的当前状态保持同步。
最后,该Servlet接口由GenericServlet类实现。
Servlet接口的简述:
定义了所有servlets对象都必须实现的方法。
一个servlet就是一个在Web服务器运行的小Java程序,Servlets从Web客户端接收请求并产生响应,通常使用HTTP协议。
实现这个接口,你可以写一个普通的servlet扩展javax.servlet.GenericServlet类或者写一个HTTP Servlet扩展javax.servlet.http.HttpServlet类。
该接口定义初始化一个Servlet的方法,对请求提供服务的方法,和从一个server中移除一个servlet的方法。这些方法被看作是”生命周期“方法。
这些方法的调用顺序如下:
1.当一个servlet构造时,调用init()方法初始化servlet
2.当客户端发出请求时,调用service()方法
3.当servlet服务完成后,调用destroy()方法,gc(垃圾回收)方法和finalized()方法
此外,改接口还提供一个能够让servlet获得启动信息的方法——getServeltConfig,一个允许servlet返回自己基本信息的方法——getServletInfo,这些基本信息如:作者、版本号、版权等。
init()方法概述:public void init(ServletConfig config) throws ServletException
该方法由servlet容器在servlet被置于服务当中时被唤起,当servlet被实例化后,
init()方法随即被唤起,在inif()方法完成之前,servlet无法接收任何请求。
当init()方法在遇到以下两种情况,servlet无法被servlet容器置于服务当中:
1.方法抛出一个ServletException例外
2.方法在超过Web服务器定义的时间后仍然没有返回(即方法请求超时)
getServletConfig()方法概述:public ServletConfig getServletConfig()
该方法返回一个ServletConfig对象,该对象包含有该servlet的初始化和启动参数,
该返回对象ServletConfig与传递给inif()方法的参量一致。
service()方法概述:public void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOException
该方法由servlet容器调用以允许servlet对请求进行响应。
该方法只在init()方法被成功完成之后才会被调用。
servlets在多线程机制的servlet容器中运行,因而可以同时处理多个请求,开发者可以同步访问共享资源,如:文件、网络连接、servlet类、实例变量等。
getServletInfo()方法概述:public java.lang.String getServletInfo()
该方法返回servlet信息,如:作者、版本号、版权等。返回的字符串必须是纯文本,不能包括任何标记语言(如:HTML、XML等等)。
destroy()方法概述:public void destroy()
由servlet容器调用以确保一个servlet已经停止服务。这个方法只在所有在servlet的service()方法的线程已经被执行或者超时的时候才会被唤起。一旦调用了该方法,该servlet就不再调用service()方法了。
该方法用于清理已占用资源(如:内存、文件句柄、线程等),同时确保持久性状态与内存中servlet的当前状态保持同步。
最后,该Servlet接口由GenericServlet类实现。