Servlet的執行流程

Servlet的運行過程
一、servlet的運行過程
servlet程序是web服務器調用,web服務器收到客戶端的servlet訪問請求後:
1、web服務器首先檢查是否已經裝載並創建了該servlet的實例對象。如果是,則執行第4步,否則執行第2步
2、裝載並創建給servlet的一個實例對象
3、調用servlet實例對象的init()方法。
4、創建一個用於封裝HTTP請求的HttpServletRequest對象和一個代表HTTP響應消息的HttpServletResponse對象,然後調用Servlet的service()方法並將請求和和響應對象作爲參數傳遞出去。
5、web應用程序被停止或重啓之前Servlet引擎將卸載Servlet,並在卸載之前的調用Servlet的destory()方法。
在整個servlet程序中最重要的是Servelt接口,在此接口下定義了一個GenericServlet的子類,但一般不會直接繼承此類,而是根據所使用的協議選項GenericServlet的子類繼承。
例如:採用HTTP協議處理,所以一般而言當需要使用HTTP協議操作時用戶用戶自定定義的Servlet類都要繼承HttpServlet類。
開發一個可以處理Http請求的Servlet類,則肯定需要繼承HttpServlet類,該類提供了不同的方法用於響應客戶端請求,常見的方法有:
1、doGet(HttpServletRequest req, HttpServletResponse resp)
2、doPost(HttpServletRequest req, HttpServletResponse resp)
3、service(HttpServletRequest req, HttpServletResponse resp)
在自定義的Servlet類中,根據實際需要重寫HttpServlet類中提供的方法,Servlet程序本身也是按照請求響應的方式進行的,所以在方法中定義了兩個參數,即HttpServletRequest ,HttpServletResponse ,用來接收和迴應用戶的請求。
二、瀏覽器訪問servlet的過程容器
1、瀏覽器的根據客戶的請求發送http給web的service()方法從requset對象中獲取請求信息,並將響應信response中的響應對象的響應體中

2、web容器檢查內存中是否有責任當前的servlet,如果沒有,將創建當前請求的servlet對象

3、web容器創建請求對象requset和響應對象response
4、web容器調用servlet的service()方法,servlet
5、web容器讀取response中的響應信息後,向請求的瀏覽器發送http響應
6、訪問過程結束後,過程中建立的requset和response對象變成垃圾

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章