|
對于一個Java人員來說,Servlet知識很重要,不僅企業(yè)面試時會問,在日常的項目中也有著舉足輕重的作用。接下來的鄭州Java學習進階課,小編就給大家簡單匯總Servlet入門知識。 Servlet是什么? Servlet是基于Java技術的Web組件,由容器管理并產生動態(tài)的內容。Servlet與客戶端通過Servlet容器實現的請求/響應模型進行交互。注意:Servlet不是從命令行啟動的,而是由包含Java虛擬機的Web服務器進行加載。 Servlet的特點是什么? 1)高效。在服務器上僅有一個Java虛擬機在運行,它的優(yōu)勢在于當多個來自客戶端的請求進行訪問時,Servlet為每個請求分配一個線程而不是進程。 2)方便。Servlet提供了大量的實用工具例程,例如處理很難完成的HTML表單數據、讀取和設置HTTP頭、處理Cookie和跟蹤會話等。 3)跨平臺。Servlet是用Java類編寫的,它可以在不同的操作系統(tǒng)平臺和不同的應用服務器平臺下運行。 4)靈活性和可擴展性。采用Servlet開發(fā)的Web應用程序,由于Java類的繼承性、構造函數等特點,使得其應用靈活,可隨意擴展。 5)共享數據。Servlet之間通過共享數據可以很容易地實現數據庫連接池。它能方便地實現管理用戶請求,簡化Session和獲取前一頁面信息的操作。 6)安全。有些CGI版本有明顯的安全弱點。即使是使用最新的標準和PERL等語言,系統(tǒng)也沒有基本安全框架。而Java定義有完整的安全機制,包括SSL\CA認證、安全政策等規(guī)范。 Servlet的功能是什么? 當啟動Web服務器或客戶機第一次請求服務時,可以自動裝入Servlet,之后,Servlet繼續(xù)運行直到其他客戶機發(fā)出請求。Servlet的功能涉及范圍很廣: 1)創(chuàng)建并返回一個包含基于客戶請求性質的動態(tài)內容的完整的HTML頁面; 2)創(chuàng)建可嵌入到現有HTML頁面中的一部分HTML頁面(HTML片段); 3)與其他服務器資源(包括數據庫和基于Java的應用程序)進行通信; 4)用多個客戶機處理連接,接收多個客戶機的輸入,并將結果傳遞到多個客戶機上,例如,Servlet可以是多參與者的游戲服務器; 5)當允許在單連接方式下傳送數據的情況下,在瀏覽器上打開服務器至applet的新連接,并將該連接保持在打開狀態(tài);當允許客戶機和服務器簡單、高效地執(zhí)行會話的情況下,applet也可以啟動客戶瀏覽器和服務器之間的連接,可以通過定制協議進行通信; 6)將訂制的處理提供給所有服務器的標準程序。 Servlet層級關系: Servlet(接口)-->GenericServlet(抽象類,與協議無關的Servlet)-->HttpServlet(抽象類,實現了Http協議的Servlet)-->Custom Servlet(自定義的Servlet) Servlet的工作過程: 1)在客戶端對web服務器發(fā)出請求。 2)web服務器接收到請求后將其發(fā)送給Servlet。 3)Servlet容器為此產生一個實例對象并調用ServletAPI中相應的方法來對客戶端HTTP請求進行處理,然后將處理的響應結果返回給WEB服務器。 4)web服務器將從Servlet實例對象中收到的響應結構發(fā)送回客戶端。 |
|
|
來自: 千鋒Python學堂 > 《程序員經驗分享》