1. 程式人生 > >Servlet生命週期初步體驗

Servlet生命週期初步體驗

寫篇文來體驗下Servlet的生命週期,也建個工程來分享給小夥伴們。
我用的是IDE是IDEA,Tomcat是1.8,JDK是1.8

一.新建一個WEB工程

先new一個project,然後進行如圖的選擇
這裡寫圖片描述
選擇next
這裡寫圖片描述
選擇next
這裡寫圖片描述
選擇finish,最後的生成的專案應該為下面的樣子
這裡寫圖片描述
然後,在WEB-INF建一個包叫classes,下面再進行一些常規配置,
選擇左上角FILE——>Project Structure
這裡寫圖片描述
然後進行Tom瞄的配置
這裡寫圖片描述
這裡寫圖片描述
這樣,一個WEB工程算是建立完畢了,如果有什麼問題的話,去看一下我前面的博文吧。

二.測試Servlet生命週期

在src包中新建一個Servlet,MyServlet,然後裡面實現這幾個方法,

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class
MyServlet extends HttpServlet {
@Override public void init() throws ServletException { System.out.println("----init----"); } @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("---service----"
); } @Override public void destroy() { System.out.println("----destory----"); } }

然後配置一些web.xml,

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
           version="3.0" >
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

下面,我們啟動一下tomcat,可以看到在控制檯並沒有列印,
訪問一下http://localhost:8080/blog/hello
可以看到列印了
—-init—-
—service—-
然後我們再訪問下,
可以看到只打印了
—service—-
說明只有在第一次啟動的時候會呼叫init函式,
訪問的時候會呼叫service函式
然後我們把伺服器宕機,可以看到在控制檯列印了
—-destory—-
說明了destroy方法是在伺服器關閉前被呼叫的。