Servlet生命週期初步體驗
阿新 • • 發佈:2019-01-28
寫篇文來體驗下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方法是在伺服器關閉前被呼叫的。