2009年QQ群關係資料庫視覺化查詢器優化推廣獲客神器十年老資料庫
阿新 • • 發佈:2021-07-16
Servlet生命週期
- 瀏覽器根據地址發起呼叫,tomcat容器在接收到請求之後,會根據地址欄上的地址進行資料解析,會找到具體的工程,然後再定位到工程下面具體的資源。
- 定位到資源後,首先會建立當前servlet類的例項,所以呼叫的是無參構造方法。
- 會執行初始化init方法,初始化servlet上下文配置物件ServletConfig
- 執行service方法,service方法用來執行請求的分發處理
- 當容器關閉的時候,會執行銷燬destroy方法
自定義後端資源MyServlet類
首先要在瀏覽器端能夠訪問到後端的動態資源,那麼必須對該資源在web.xml中資源註冊,並配置資源路徑。
<!--資源註冊--> <servlet> <!--資源名,可以隨意取--> <servlet-name>MyServlet</servlet-name> <!--資源全類名--> <servlet-class>com.zc.servlet.MyServlet</servlet-class> </servlet> <!--資源路徑的配置--> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <!--資源路徑 是瀏覽器訪問資源時需加的路徑--> <url-pattern>/myServlet</url-pattern> </servlet-mapping>
MyServlet必須實現Servlet介面或者繼承Servlet例項,然後重寫其中的方法。
import javax.servlet.*; import java.io.IOException; public class MyServlet implements Servlet { public MyServlet() { System.out.println("servlet生命週期:1、建立Servlet例項,無參構造方法執行"); } @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("servlet生命週期:2、初始化init方法執行 初始化servlet上下文配置物件ServletConfig"); } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("servlet生命週期:3、service方法執行了,用來執行請求的分發處理"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { System.out.println("servlet生命週期:4、destroy方法執行 銷燬當前Servlet"); } }
執行Tomcat伺服器,然後在瀏覽器中訪問此資源,可以在後端控制檯中明顯檢視到Servlet生命週期
關閉Tomcat伺服器,還可以在控制檯中看到資源銷燬。