servlet接口的方法
1、Servlet生命周期。生命周期要经过以下路径,并且涉及到五种方法:
(1)装载Servlet类
(2)创建Servlet实例(实例化)
(3)通过调用init()方法初始化servlet。
(4)servlet调用service()方法来处理客户端的请求。
(5)通过调用destroy()方法终止servlet。
下面将分别介绍五种方法。
2、void init(ServletConfig config)方法。init方法只调用一次。仅仅在创建servlet时才调用它,之后不在为任何用户requests调用。 因此,它用于一次初始化,就像applet的init方法一样。

3、 void service(ServletRequest req, ServletResponse res)方法。这个方法是在servlet生命周期中被多次调用的唯一方法,同时它也是执行实际任务的主要方法。它服务于来自客户端(浏览器)请求,每当服务器收到请求时都会调用此方法。每当服务器接收到对servlet的请求时,服务器将产生一个新线程并调用服务。 Service()方法检查HTTP请求类型(GET,POST,PUT,DELETE等),并根据需要调用doGet,doPost,doPut,doDelete等方法。

4、void destroy()方法。在Servlet生命周期结束时,该方法由Servlet容器调用。 与在生命周期中被多次调用的service()方法不同,该方法在整个生命周期内仅被Servlet容器调用一次。 一旦destroy()方法被调用,servlet容器就不会调用service()方法了。

5、ServletConfig getServletConfig()方法。返回一个ServletConfig对象,其中包含此servlet的初始化和启动参数。
6、 java.lang.String getServletInfo()方法。返回有关servlet的信息,如作者,版本和版权。
1、index.html代码部分。<a href="welcome">点击这里调用servlet</a>
2、DemoServlet.java代码部分。
import java.io.*;
import javax.servlet.*;
public class DemoServlet implements Servlet{
ServletConfig config=null;
public void init(ServletConfig config){
this.config=config;
System.out.println("初始化完成");
}
public void service(ServletRequest req,ServletResponse res)
throws IOException,ServletException{
res.setContentType("text/html");
PrintWriter pwriter=res.getWriter();
pwriter.print("<html>");
pwriter.print("<body>");
pwriter.print("<h1>Servlet示例程序</h1>");
pwriter.print("</body>");
pwriter.print("</html>");
}
public void destroy(){
System.out.println("servlet生命周期完成");
}
public ServletConfig getServletConfig(){
return config;
}
public String getServletInfo(){
return "由某人编写的演示程序";
}
}

3、web.xml代码部分:如果Web容器中包含了多个Servlet,特定的HTTP请求该由哪一个Servlet来处理呢?它由Web容器中的web.xml来决定的。
<web-app>
<servlet>
<servlet-name>Beginnersbook</servlet-name>
<servlet-class>DemoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Beginnersbook</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
</web-app>
