新聞中心
Servlet是用Java編寫的Server端程序,它與協(xié)議和平臺(tái)無(wú)關(guān)。Servlet運(yùn)行于Java-enabled Web Server中。Java Servlet可以動(dòng)態(tài)地?cái)U(kuò)展Server的能力,并采用請(qǐng)求-響應(yīng)模式提供Web服務(wù)。

創(chuàng)新互聯(lián)建站主營(yíng)新建網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),新建h5小程序設(shè)計(jì)搭建,新建網(wǎng)站營(yíng)銷推廣歡迎新建等地區(qū)企業(yè)咨詢
最早支持Servlet技術(shù)的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web Server開始支持標(biāo)準(zhǔn)的Servlet API。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。這個(gè)過(guò)程為:
◆客戶端發(fā)送請(qǐng)求至服務(wù)器端;
◆服務(wù)器將請(qǐng)求信息發(fā)送至Servlet
◆Servlet生成響應(yīng)內(nèi)容并將其傳給Server。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶端的請(qǐng)求
◆服務(wù)器將響應(yīng)返回給客戶端
Servlet的作用對(duì)Java來(lái)說(shuō)很重要。Servlet看起來(lái)像是通常的Java程序。Servlet導(dǎo)入特定的屬于Java Servlet API的包。因?yàn)槭菍?duì)象字節(jié)碼,可動(dòng)態(tài)地從網(wǎng)絡(luò)加載,可以說(shuō)Servlet對(duì)Server就如同Applet對(duì)Client一樣,但是,由于 Servlet運(yùn)行于Server中,它們并不需要一個(gè)圖形用戶界面。從這個(gè)角度講,Servlet也被稱為Faceless Object。
JAVA Servlet的優(yōu)勢(shì):
Servlet可以和其他資源(文件、數(shù)據(jù)庫(kù)、Applet、Java應(yīng)用程序等)交互,以生成返回給客戶端的響應(yīng)內(nèi)容。如果需要,還可以保存請(qǐng)求-響應(yīng)過(guò)程中的信息。
采用Servlet,服務(wù)器可以完全授權(quán)對(duì)本地資源的訪問(wèn)(如數(shù)據(jù)庫(kù)),并且Servlet自身將會(huì)控制外部用戶的訪問(wèn)數(shù)量及訪問(wèn)性質(zhì)
Servlet可以是其它服務(wù)的客戶端程序,例如,它們可以用于分布式的應(yīng)用系統(tǒng)中,可以從本地硬盤,或者通過(guò)網(wǎng)絡(luò)從遠(yuǎn)端硬盤激活Servlet的作用。
Servlet可被鏈接(chain)。一個(gè)Servlet可以調(diào)用另一個(gè)或一系列Servlet,即成為它的客戶端。
采用Servlet Tag技術(shù),可以在HTML頁(yè)面中動(dòng)態(tài)調(diào)用Servlet。
Servlet API與協(xié)議無(wú)關(guān)。它并不對(duì)傳遞它的協(xié)議有任何假設(shè)。
像所有的Java程序一樣,Servlet擁有面向?qū)ο驤ava語(yǔ)言的所有優(yōu)勢(shì)
Servlet提供了Java應(yīng)用程序的所有優(yōu)勢(shì)——可移植、穩(wěn)健、易開發(fā)。使用Servlet 的Tag技術(shù),Servlet能夠生成嵌于靜態(tài)HTML頁(yè)面中的動(dòng)態(tài)內(nèi)容。
一個(gè)Servlet被客戶端發(fā)送的第一個(gè)請(qǐng)求激活,然后它將繼續(xù)運(yùn)行于后臺(tái),等待以后的請(qǐng)求。每個(gè)請(qǐng)求將生成一個(gè)新的線程,而不是一個(gè)完整的進(jìn)程。多個(gè)客戶能夠在同一個(gè)進(jìn)程中同時(shí)得到服務(wù)。一般來(lái)說(shuō),Servlet進(jìn)程只是在Web Server卸載時(shí)被卸載。
Servlet生命周期:
裝載Servlet。這項(xiàng)操作一般是動(dòng)態(tài)執(zhí)行的。然而,Server通常會(huì)提供一個(gè)管理的選項(xiàng),用于在Server啟動(dòng)時(shí)強(qiáng)制裝載和初始化特定的Servlet。
Server創(chuàng)建一個(gè)Servlet的實(shí)例
Server調(diào)用Servlet的init()方法
一個(gè)客戶端的請(qǐng)求到達(dá)Server
Server創(chuàng)建一個(gè)請(qǐng)求對(duì)象
Server創(chuàng)建一個(gè)響應(yīng)對(duì)象
Server激活Servlet的service()方法,傳遞請(qǐng)求和響應(yīng)對(duì)象作為參數(shù)
service()方法獲得關(guān)于請(qǐng)求對(duì)象的信息,處理請(qǐng)求,訪問(wèn)其他資源,獲得需要的信息
service()方法使用響應(yīng)對(duì)象的方法,將響應(yīng)傳回Server,最終到達(dá)客戶端。service()方法可能激活其它方法以處理請(qǐng)求,如doGet()或doPost()或程序員自己開發(fā)的新的方法
對(duì)于更多的客戶端請(qǐng)求,Server創(chuàng)建新的請(qǐng)求和響應(yīng)對(duì)象,仍然激活此Servlet的service()方法,將這兩個(gè)對(duì)象作為參數(shù)傳遞給它。如此重復(fù)以上的循環(huán),但無(wú)需再次調(diào)用init()方法。一般Servlet只初始化一次 ,當(dāng)Server不再需要Servlet時(shí)(一般當(dāng)Server關(guān)閉時(shí)),Server調(diào)用Servlet的Destroy()方法。
這就是Servlet的作用,它擴(kuò)展了Java在網(wǎng)絡(luò)方面的能力,并擁有面向?qū)ο驤ava語(yǔ)言的所有優(yōu)勢(shì)。
新聞標(biāo)題:Servlet的作用與優(yōu)勢(shì)
網(wǎng)站鏈接:http://m.5511xx.com/article/djoipse.html


咨詢
建站咨詢
