1.Servlet不是独立的应用程序,没有main()方法。而是由容器管理Servlet的生命周期。
2.编写一个Servlet需要实现javax.servlet.Servlet接口,并实现下面五个接口方法:
/**init方法由容器调用,让Servlet对象在处理客户请求前完成一些初始化的工作, *例如,建立数据库的连接,获取配置信息等。init方法只能被容器调用一次 *Servlet容器通过参数ServletConfig给Servlet传递配置信息(键-值对) *在Servlet中,可以通过ServletConfig对象获取描述Servlet容器的 *ServletContext对象,通过该对象,Servlet可以和它的Servlet容器通信。 */ public void init(ServletCongif config) throws ServletException;
/** *容器调用service方法来处理客户端的请求。但在之前必须确保init方法被正确完成。 *容器会封装客户请求信息为ServletRequest对象,相应信息封装为*ServletResponse并传入service方法的参数。 */ public void service(ServletRequest req,ServletResponse res)throws ServletException;
/** *容器销毁一个servlet之前调用destroy方法,以便Servlet对象释放资源,如保存 *数据到持久存储设备中,关闭数据库连接等。何时销毁servlet,至少是没有线程 *用到这个servlet 。 */ public void destroy();
/** *返回容器传递给Servlet对象的ServletConfig对象,该对象包含了Servlet初始化信 *息。 */ public ServletConfig getServletConfig();
/** *返回字符串,包含Servlet的信息,版本、作者、版权等 */ public String getServletInfo();
3.javax.servlet.ServletConfig接口
Servlet容器使用ServletConfig对象在Servlet初始化期间向它传递配置信息,一个Servlet只能有一个ServletConfig对象。该接口中有四个方法:
/** *返回“键”为name的初始化参数的“值”,初始化参数在web.xml配置文件中配置。 *若参数不存在,返回null。 */ public String getInitParameter(String name );
/** *返回Servlet的所有初始化参数的名字的枚举集合,初始化参数在 *web.xml配置文件中配置。 *若参数不存在,返回null。 */ public Emumeration getInitParameterNames();/**
*返回ServletContext对象,用于Servlet与容器间的通信。 */ public ServletContext getServletContext();
/** *返回Servlet实例的名字。这个名字是在Web应用程序的部署描述符中指定的。 *若没注册的Servlet实例,方法返回Servlet的类名。 */ public String getServletName();