1. 程式人生 > >java EE :Servlet 介面

java EE :Servlet 介面

Servlet 生命週期  :

  • 呼叫當前 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 抽象類)

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"); } }