標籤:參數傳遞 ext java api ice 一個 java web 執行個體 注意
入坑必備之servlet(O(∩_∩)O哈!)
兩個問題:是什嗎?怎麼用?
the first question:what?
Servlet是sun公司提供的一門用於開發動態web資源的技術,sun公司在其API中提供了一個servlet介面。由此可以理解為原生的servlet是一個介面,提到介面,我們應該想道我們必須去實現它才能被我們使用,servlet這個介面當然也不例外,從概念上講,servlet是指sun公司提供的這個API介面,約定俗稱,現在我們說的servlet是指實現這個介面的類,一般我們說的這個servlet就是指被我們實現的servlet。
好的第一個問題說完了,servlet是一個介面,而我們平常說的servlet是指實現了這個介面的類。(一句話搞定)
the second question:how?
這裡我們先談一下servlet的用途,是誰在使用它?Servlet 是在伺服器上啟動並執行小程式(來自百度百科),是伺服器在使用它,servlet=Service+Applet,service是指服務,applet是指小程式,servlet就是指服務小程式。(下面所有的servlet是指已經實現servlet介面的servlet小程式)
接下來,我們說一下servlet它到底怎麼用,
大致分為5個步驟,之後詳細講解每個步驟。
Servlet小程式是由伺服器調用,伺服器收到用戶端的Servlet訪問請求後:
①伺服器首先檢查是否已經首次裝載並建立了該Servlet的執行個體對象。如果是,則直接執行第④步,否則,執行第②步。
②裝載並建立該Servlet的一個執行個體對象。
③調用Servlet執行個體對象的init()方法。
④建立一個用於封裝HTTP請求訊息的HttpServletRequest對象和一個代表HTTP響應訊息的HttpServletResponse對象,然後調用Servlet的service()方法並將請求和響應對象作為參數傳遞進去。
⑤WEB應用程式被停止或重新啟動之前,Servlet引擎將卸載Servlet,並在卸載之前調用Servlet的destroy()方法。
第一步:通常情況下,伺服器會對瀏覽器發出的請求只建立一個servlet對象,這個對象會一直儲存在記憶體中,為後面瀏覽器發出的請求做出回應,直到你關閉這個網頁或者調用servlet的方法退出,首次的意思是指你開啟這個網頁,直到關閉,退出瀏覽器,對應的servlet對象就會調用destory()方法,銷毀對應的servlet對象。
第二步:建立一個對應的servlet對象
第三步:調用對象的初始化方法,
第四部:由web容器(調用servlet小程式的服務程式)建立一個請求對象(HttpServletRequest)和響應對象(HttpServletResponse),調用servlet小程式的service()方法,並將剛才建立的請求對象和響應對象作為參數傳進去,流程請看,請注意讀取和寫入資訊的分別是誰,黑色代表請求的過程,藍色代表響應的過程(圖太醜,請見諒!)
今天就先寫下servlet大致是個什麼東西和它的一些用法原理,下次我們在說下servlet小程式包含的幾種方法(init();,destory();doget();,dopost();,等方法);
不足之處歡迎指正,不勝感激!
Java web之servlet