1. 程式人生 > >Java web之servlet

Java web之servlet

詳細講解 get() 註意 des api 一個 剛才 分享 ima

入坑必備之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