官术网_书友最值得收藏!

1.2 Servlet與Servlet容器

Java Servlet(Java服務器小程序)是一個基于Java技術的Web組件,運行在服務器端,由Servlet容器所管理,用于生成動態的內容。Servlet是平臺獨立的Java類,編寫一個Servlet,實際上就是按照Servlet規范編寫一個Java類。Servlet被編譯為平臺獨立的字節碼,可以被動態地加載到支持Java技術的Web服務器中運行。目前Servlet規范最新的版本是2.5。

在上文中,出現了一個概念“Servlet容器”。那么什么是Servlet容器呢?Servlet容器有時候也叫做Servlet引擎,是Web服務器或應用程序服務器的一部分,用于在發送的請求和響應之上提供網絡服務,解碼基于MIME的請求,格式化基于MIME的響應。Servlet不能獨立運行,它必須被部署到Servlet容器中,由容器來實例化和調用Servlet的方法,Servlet容器在Servlet的生命周期內包容和管理Servlet。

在JSP技術推出后,管理和運行Servlet/JSP的容器也稱為Web容器。在本書中,Servlet容器、JSP容器,以及Web容器是同義的。

用戶通過單擊某個鏈接或者直接在瀏覽器的地址欄中輸入URL來訪問Servlet,Web服務器接收到該請求后,并不是將請求直接交給Servlet,而是交給Servlet容器。Servlet容器實例化Servlet,調用Servlet的一個特定方法對請求進行處理,并產生一個響應。這個響應由Servlet容器返回給Web服務器,Web服務器包裝這個響應,以HTTP響應的形式發送給Web瀏覽器。整個過程如圖1-3所示。

圖1-3 用戶訪問Servlet

與CGI程序相比,Servlet具有以下優點:

·Servlet是單實例多線程的運行方式,每個請求在一個獨立的線程中運行,而提供服務的Servlet實例只有一個。

·Servlet具有可升級性,能響應更多的請求,因為Servlet容器使用一個線程而不是操作系統進程,而線程僅占用有限的系統資源。

·Servlet使用標準的API,被更多的Web服務器所支持。

·Servlet使用Java語言編寫,因此擁有Java程序語言的所有優點,包括容易開發和平臺獨立性。

·Servlet可以訪問Java平臺豐富的類庫,使得各種應用的開發更為容易。

·Servlet容器給Servlet提供額外的功能,如錯誤處理和安全。

主站蜘蛛池模板: 新干县| 南宁市| 九寨沟县| 进贤县| 青州市| 蕲春县| 特克斯县| 五峰| 全椒县| 内丘县| 迭部县| 博客| 息烽县| 青岛市| 通城县| 罗城| 南汇区| 当阳市| 新源县| 天祝| 茶陵县| 什邡市| 龙口市| 忻州市| 桦川县| 科技| 新乡市| 六盘水市| 如皋市| 吉木乃县| 长海县| 云阳县| 封丘县| 湖口县| 故城县| 运城市| 永修县| 思南县| 西平县| 班玛县| 高清|