Servlet是一種獨立於平台和協定的伺服器端的Java技術,可以用來產生動態的Web頁面。 Servlet是使用Java Servlet應用程式設計介面(API)及相關類別與方法的Java程式。 Servlet主要使用者處理客戶端傳來的HTTP請求,並傳回一個回應。通常Servlet是指HttpServlet,用於處理HTTP請求。能夠處理的請求有:doGet() doPost() service()等。在開發Servlet時,可以直接繼javax.servlet.http.HttpServlet。
推薦課程:Java教學。
Servlet與Servlet容器
#Java Servlet(Java伺服器小程式)是一個基於Java技術的網路元件,運行在伺服器端,由Servlet容器管理,用於產生動態的內容。 Servlet是平台獨立的Java類,寫一個Servlet,實際上就是依照Servlet規格來寫一個Java類別。 Servlet被編譯為平台獨立的字節碼,可以被動態地載入到支援Java技術的Web伺服器中運行。
Servlet容器(Servlet引擎)是Web伺服器或應用程式伺服器的一部分,用於在發送的請求和回應之上提供網路服務,解碼基於MIME的請求,格式化機遇MIME的回應。
Servlet不能獨立於運行,必須部署到Servlet容器中,由容器來實例化和呼叫Servlet的方法,Servlet容器在Servlet的生命週期內包容和管理Servlet。
Servlet技術特點
高效,方便,跨平台,功能強大,靈活性和可擴展性,共享數據,安全。
1. 高效
在伺服器上只有一個Java虛擬機器在運行,它的優點在於當多個來自客戶端的請求進行存取時,Servlet為每個請求分配一個線程而不是進程。
2. 方便
Servlet提供了大量的實用工具例程,例如處理很難完成的HTML表單數據,讀取和設定HTTP頭,處理Cookie和追蹤會話等。
3. 跨平台
Servlet是用Java類別寫的,可以在不同的作業系統平台和應用程式伺服器平台下運作。
4. 強大
在Servlet中,許多實用傳統CGI程式很難完成的任務都可以利用Servlet技術輕鬆完成。例如,Servlet能夠直接和Web伺服器交互,而普通的CGI程式則不能。 Servlet也能夠在各個程式之間共享數據,使得資料庫連接池之類的功能很容易實現。
5. 靈活性和可擴展性
採用Servlet開發的Web應用程序,由於Java類別的繼承性,構造函數等特點,使得其應用靈活,可隨意擴展。
6. 共享資料
Servlet之間透過共享資料可以輕鬆實現資料庫連接池。它能方便地實現管理用戶請求,簡化Session和獲取前一頁資訊的操作,而在CGI之間通訊則很差。由於每個CGI程式的呼叫都開始一個新的進程,因此呼叫間通訊通常要透過檔案進行,因而相當緩慢。同一台伺服器上的不同CGI程式之間的通訊也相當麻煩。
7. 安全
有些CGI版本有明顯的安全弱點。即使是實用最新標準,系統也沒有基本安全框架。而Java定義有完整的安全機制,包括SSL\CA認證、安全政策等規範。
Servlet 動態頁面階段
使用者存取頁面流程:
使用者透過點擊連結或直接輸入URL存取Servlet。
Web伺服器接收到請求後,交給Servlet容器。
Servlet容器實例化Servlet。
呼叫Servlet特定方法對請求進行處理,並且產生一個回應。
回應由Servlet容器傳回Web容器。
Web容器包裝這個回應,以HTTP回應的形式傳送給瀏覽器。
以上是servlet技術是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!