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 可以看到類似下面的界面 -