java EE :Servlet 接口

Servlet 生命週期  :java

  • 調用當前 Servlet 類構造函數進行實例化
  • Servlet 經過調用 init () 方法進行初始化
  • Servlet 調用 service() 方法來處理客戶端的請求
  • Servlet 經過調用 destroy() 方法終止(結束)
  • 最後,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的

Servlet 是服務 HTTP 請求並實現 javax.servlet.Servlet 接口的 Java 類。Web 應用程序開發人員一般編寫 Servlet 來擴展 javax.servlet.http.HttpServlet,並實現 Servlet 接口的抽象類專門用來處理 HTTP 請求。( javax.servlet.Servlet 接口、java.servlet.GenericSerlvet 抽象類、java.servlet.Http.HttpServlet 抽象類)ide

package javax.servlet;

import java.io.IOException;

public interface Servlet {

//Servlet 實例初始化完成後 (Servlet 爲單實例,僅包含一個實例),將進入 init 函數,而且只執行一次
void init(ServletConfig var1) throws ServletException;
// 獲取 ServletConfig 對象,該對象包括當前 Servlet 實例相關信息 ServletConfig getServletConfig();
//任何一次請求,都將進入 service 方法
void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException; String getServletInfo();
// 當 tomacat 關閉時,將執行該方法
void destroy(); }

 

ServletDemo 類實現 java.servlet.Servlet 接口:
import javax.servlet.*;
import java.io.IOException;

public class ServletDemo implements Servlet {

    private transient ServletConfig servletConfig;

    public ServletDemo() {
        System.out.println("constructor");
        System.out.println(this.hashCode());
    }

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        this.servletConfig = servletConfig;
        System.out.println("init");
    }

    @Override
    public ServletConfig getServletConfig() {
        return this.servletConfig;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println(this.hashCode());
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("destroy");
    }
}
相關文章
相關標籤/搜索