Servlet接口實現
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 可以看到類似下面的界面 -