作者是:iteye上的一個網友的,具體名字忘記了。
1,什麼是servlet
2,servlet有什麼作用
3,servlet的生命周期
4,servlet怎麼處理一個請求
5,servlet與jsp有什麼差別
6,servlet裡的cookie技術
7,servlet裡的過濾器
8,servlet裡的監聽器
一,什麼是servlet?
servlet是一個java編寫的程式,此程式是基于http協定的,在伺服器端運作的(如tomcat),
是按照servlet規範編寫的一個java類。
二,servlet有什麼作用?
主要是處理用戶端的請求并将其結果發送到用戶端。
三,servlet的生命周期?
servlet的生命周期是由servlet的容器來控制的,它可以分為3個階段;初始化,運作,銷毀。
初始化階段:
1,servlet容器加載servlet類,把servlet類的.class檔案中的資料讀到記憶體中。
2,然後servlet容器建立一個servletconfig對象。servletconfig對象包含了servlet的初始化配置資訊。
3,servlet容器建立一個servlet對象。
4,servlet容器調用servlet對象的init方法進行初始化。
運作階段:
當servlet容器接收到一個請求時,servlet容器會針對這個請求建立servletrequest和servletresponse對象。
然後調用service方法。并把這兩個參數傳遞給service方法。service方法通過servletrequest對象獲得請求的
資訊。并處理該請求。再通過servletresponse對象生成這個請求的響應結果。然後銷毀servletrequest和
servletresponse對象。我們不管這個請求是post送出的還是get送出的,最終這個請求都會由service方法來處理。
銷毀階段:
當web應用被終止時,servlet容器會先調用servlet對象的destrory方法,然後再銷毀servlet對象,
同時也會銷毀與servlet對象相關聯的servletconfig對象。我們可以在destroy方法的實作中,釋放
servlet所占用的資源,如關閉資料庫連接配接,關閉檔案輸入輸出流等。
在這裡該注意的地方:
在servlet生命周期中,servlet的初始化和和銷毀階段隻會發生一次,而service方法執行的次數則取決于servlet被客戶
端通路的次數
四,servlet怎麼處理一個請求?
當使用者發送一個請求到某個servlet的時候,servlet容器會建立一個servletrequst和servletresponse對象。
在servletrequst對象中封裝了使用者的請求資訊,然後servlet容器把servletrequst和servletresponse對象
傳給使用者所請求的servlet,servlet把處理好的結果寫在servletresponse中,然後servlet容器把響應結果傳
給使用者。
五,servlet與jsp有什麼差別?
1,jsp經編譯後就是servlet,也可以說jsp等于servlet。
2,jsp更擅長頁面(表現)。servlet更擅長邏輯編輯。 (最核心的差別)。
3,在實際應用中采用servlet來控制業務流程,而采用jsp來生成動态網頁.在struts架構中,
jsp位于mvc設計模式的視圖層,而servlet位于控制層。
六,servlet裡的cookie技術?
cookies是一種web伺服器通過浏覽器在通路者的硬碟上存儲資訊的手段,是由netscape公司開發出來的。
cookie技術的好處:
1,cookie有效期限未到時,cookie能使使用者在不鍵入密碼和使用者名的情況下進入曾經浏覽過的一些站點。
2,cookie能使站點跟蹤特定通路者的通路次數、最後通路時間和通路者進入站點的路徑。
建立一個cookie
java代碼
//裡面的兩個參數分别是cookie的名和cookie的值
response.addcookie(new cookie("abc","10000000"));
使用cookie
cookie[] cook =request.getcookies();//用一個cookie數組來接收
for(int j=0;j<cook.length;j++){//通過循環來列印cookie
cook[j].getname()://取cookie的名
cook[j].getvalue()://去cookie的值
}
七,servlet裡的過濾器?
過濾器的主要作用
1,任何系統或網站都要判斷使用者是否登入。
2,網絡聊天系統或論壇,功能是過濾非法文字
3,統一解決編碼
(2)怎麼建立一個過濾器:
1,生成一個普通的class類,實作filter接口(javax.servlet.filter;)。
2,重寫接口裡面的三個方法:init,dofilter,destroy。
3,然後在web.xml配置過濾器。
八,servlet裡的監聽器?
監聽器的作用:自動執行一些操作。
三種servlet監聽器:
對request的監聽。對session的監聽。對application的監聽。
怎麼建立一個session監聽器:
1,生成一個普通的class類,如果是對session的監聽,則實作httpsessionlistener。
2,然後重寫裡面的五個方法:
public void sessioncreated(httpsessionevent arg0) {} // 建立
public void sessiondestroyed(httpsessionevent arg0) {} // 銷毀
public void attributeadded(httpsessionevent arg0) {} // 增加
public void attributeremoved(httpsessionevent arg0) {} // 删除
public void attributereplaced(httpsessionevent arg0) {} // 替換