Servlet接口为所有servlet提供常见的行为。
需要实现Servlet接口来创建任何servlet(直接或间接)。它提供了3
个生命周期方法,用于初始化servlet,服务请求以及销毁servlet和2
个非生命周期方法。
Servlet接口的方法
Servlet接口有5
种方法。分别为:init
,service
和destroy
是servlet的生命周期方法。这些方法由web容器调用。
方法 | 描述 |
---|---|
public void init(ServletConfig config) |
初始化servlet,它是servlet的生命周期方法,由web容器调用一次。 |
public void service(ServletRequest request,ServletResponse response) |
为传入的请求提供响应。它由Web容器的每个请求调用。 |
public void destroy() |
仅被调用一次,并且表明servlet正在被销毁。 |
public ServletConfig getServletConfig() |
返回ServletConfig对象。 |
public String getServletInfo() |
返回有关servlet的信息,如作者,版权,版本等。 |
Servlet实例通过实现Servlet接口
下面是一个通过实现servlet接口的Servlet简单例子。
打开Eclipse,创建一个动态网站项目(Dynamic Web Project):servletinterface,如下 -
注:有关如何在Eclipse创建动态网站项目,请参考:http://www.yiibai.com/servlet/creating-servlet-in-eclipse-ide.html
MyServlet.java
的代码如下所示 -
package com.yiibai;
import java.io.*;
import javax.servlet.*;
/**
* 实现Servlet接口的Servlet
* @author Maxsu
* @url
*/
public class MyServlet implements Servlet {
ServletConfig config = null;
public void init(ServletConfig config) {
this.config = config;
System.out.println("servlet is initialized");
}
public void service(ServletRequest req, ServletResponse res) throws IOException, ServletException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.print("<html><body>");
out.print("<div style=\"text-align:center;\"><h2>hello simple servlet</h2></div>");
out.print("</body></html>");
}
public void destroy() {
System.out.println("servlet is destroyed");
}
public ServletConfig getServletConfig() {
return config;
}
public String getServletInfo() {
return "copyright 2012-2020";
}
}
执行上面项目,打开浏览器,输入网址: http://localhost:8080/servletinterface/index 可以看到类似下面的界面 -