日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

测试Servlet生命周期例子程序

發(fā)布時(shí)間:2024/4/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试Servlet生命周期例子程序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫一個(gè)類TestLifeCycleServlet,生成構(gòu)造器TestLifeCycleServlet();重寫HttpServlet的doGet();重寫GenericServlet的destroy();? init();? 故意打亂順序,看后臺(tái)打印結(jié)果,看他們的執(zhí)行順序。

1 package servlet_01; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletConfig; 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 public class TestLifeCycleServlet extends HttpServlet{ 12 13 14 public void destroy() { 15 System.out.println("destroy"); 16 } 17 18 19 public void init(ServletConfig config) throws ServletException {  //ServletConfig保存的是servlet的配置信息(web.xml里的) 20 System.out.println("init"); 21 } 22 23 24 public TestLifeCycleServlet() { 25 System.out.println("construstor"); 26 } 27 28 29 protected void doGet(HttpServletRequest request, HttpServletResponse response) 30 throws ServletException, IOException { 31 System.out.println("doGet"); 32 } 33 34 35 }

部署到tomcat,訪問,然后刷新再訪問一次。

可以看到,先調(diào)用構(gòu)造器,構(gòu)建出對(duì)象,然后是init();-->doGet();-->doGet();暫時(shí)還沒調(diào)destroy();兩個(gè)doGet();說明不管你訪問多少次,只構(gòu)建了一個(gè)對(duì)象,為你提供服務(wù)。J2EE的要求,Servlet就new一個(gè),(省內(nèi)存)。(有個(gè)SingleThreadModel接口,已經(jīng)廢棄了。如果你的Servlet實(shí)現(xiàn)了這個(gè)接口,每當(dāng)一個(gè)請(qǐng)求過來,就new一個(gè)新對(duì)象。)在同一個(gè)server,同一個(gè)container里頭,只有一個(gè)servlet。init只執(zhí)行一次,第一次初始化的時(shí)候。當(dāng)webapps退出的時(shí)候,調(diào)用destroy();

總結(jié):

servlet生命周期

生命全過程:

1? 加載:ClassLoader把你的class load進(jìn)來。

2 實(shí)例化:new自己一個(gè)對(duì)象

3 初始化:調(diào)用init(ServletConfig)方法,(一般重寫這個(gè)帶參的,就調(diào)用這個(gè))

4 處理請(qǐng)求:不斷地處理請(qǐng)求,一般是對(duì)外的service? (對(duì)于HttpServlet來說就是doGet或者doPost)

5 退出服務(wù):調(diào)用destroy();

**只有一個(gè)對(duì)象對(duì)外提供服務(wù),再次訪問的時(shí)候不會(huì)new重新的,不會(huì)調(diào)用init方法,不會(huì)的。

?

轉(zhuǎn)載于:https://www.cnblogs.com/lihaoyang/p/4550938.html

總結(jié)

以上是生活随笔為你收集整理的测试Servlet生命周期例子程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。