天天看點

hualinux servlet 2.2:servlet介紹

 本章将對servet進行的背景、工作原理、學習servet的建議三個方面進行講解。

一、servet産生背景

前一章我們說到了CGI存在的不足,其每次請求都需加載和運作一個CGI程式。若使用Java編寫CGI程式,需要為每個請求都啟動一個系統程序以及JVM,其執行效率大大降低。如果有辦法取消這些開銷,即隻需要啟動一個系統程序以及一個JVM映像,基于Java的CGI就能得到很好的改善。

Servlet就基于這種想法産生了,利用Java運作時可動态加載來處理新的請求,隻需要啟動一次伺服器程序,隻加載一次JVM,之後這個JVM再動态加載另外的類。其執行效率比傳統CGI快得多了。Servlet的優點如下:

  1. 隻需要啟動一個系統程序以及加載一個JVM,大大降低系統開銷。
  2. 如果多個請求需要做同樣處理的時候,隻需要加載一個類,這也大大降低開銷。
  3. 所有動态加載的類可以實作對網絡協定以及請求解碼的代碼共享,大大降低工作量。
  4. Servlet能夠直接和Web伺服器互動,而普通的CGI不能。Servlet還能夠在各個序之間共享資料,使得資料庫連接配接池之類的功能很容易實作。
  5. Servlet是與平台無關的,因為它們是用Java編寫的。

二、servlet工作原理

servlet工作原理如下圖所示:

hualinux servlet 2.2:servlet介紹

這圖這麼清楚,就不用講了吧,如果不明白的話可以私信我

三、建議

Servlet是一個很重要的java基礎,就是CGI的優化,學習好Servlet很重要,JSP代碼最終也會轉為servlet代碼。

Servlet:注重邏輯,在展示方面弱;是以适合邏輯處理,如果要展示可以用JSP

jsp:在展示方面有優勢,處理邏輯弱,不建議在JSP中寫邏輯代碼