學(xué)過web前端培訓(xùn)的同學(xué)有人會覺得覺得Servlet可以對Http請求進(jìn)行相應(yīng)并返回數(shù)據(jù),而Web Service只不過是基于SOAP協(xié)議和XML對數(shù)據(jù)進(jìn)行封裝了,也是采用Http協(xié)議來傳輸數(shù)據(jù),后來通過慢慢閱讀相關(guān)材料,加上實(shí)際操作,才發(fā)現(xiàn)Web Service和Servlet區(qū)別很大,根本不是在一個層次上的東西,下面我們從各個不同的角度來看看Web Service和Servlet區(qū)別到底有哪些。
1. 概念
Servlet(Server Applet)稱為小服務(wù)程序或服務(wù)連接器,用java編寫的服務(wù)器端程序,具有獨(dú)立于平臺和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動態(tài)Web內(nèi)容。Servlet是Java對于Web開發(fā)而產(chǎn)生的一項(xiàng)技術(shù),可以說Servlet技術(shù)是Java專有的,它是服務(wù)器端的技術(shù),客戶端通常是瀏覽器,Servlet提供了請求/響應(yīng)模式,是JAVA的一種規(guī)范,只能使用于Java上,用來替代早期使用的難懂的CGI,是一種無狀態(tài)的請求響應(yīng),客戶端訪問一個服務(wù)器的url,只需要發(fā)送簡單的httprequest即可。規(guī)定了四個范圍:pageContext、request、session、application。一定依賴于各種Servlet容器,但Servlet只能接受一個簡單的http請求。
Web Service是一個平臺獨(dú)立的,低耦合的,自包含的、基于可編程的web的應(yīng)用程序,可使用開放的XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個子集)標(biāo)準(zhǔn)來描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開發(fā)分布式的交互操作的應(yīng)用程序。WebService最早是微軟提出了一種以XML為載體網(wǎng)絡(luò)信息傳輸?shù)囊?guī)范,現(xiàn)在幾乎所有的語言與平臺都支持,帶有狀態(tài)機(jī)制,不依賴于容器,可以發(fā)送一個xml作為其請求內(nèi)容。WebService通常是基于http的遠(yuǎn)程方法調(diào)用(RMI),號稱是可以反回遠(yuǎn)程對象,一般來說客戶段可以象調(diào)用本地方法一樣調(diào)用WebService的方法。
可以這么說,開發(fā)一個WebService系統(tǒng),把它放到互聯(lián)網(wǎng)上,生成一個WebService描述文件wsdl,全世界的任何人,使用幾乎任何開發(fā)工具,引用了這個wsdl,就像引用了一個動態(tài)庫的頭文件一樣,方便的調(diào)用你的WebService接口,就像調(diào)用本地的方法一樣。
2. 數(shù)據(jù)傳輸
Servlet使用Http協(xié)議傳輸數(shù)據(jù),如果你用Servlet返回XML,那個XML的描述框架就是你定的,必須告知使用者具體的說明,沒有統(tǒng)一標(biāo)準(zhǔn)。Webservice使用固定的XML格式封裝成soap消息,可以使用Http作為底層數(shù)據(jù)傳輸,但并不局限于Http協(xié)議,方法返回消息是有標(biāo)準(zhǔn)的。Web Service的優(yōu)點(diǎn)在于可以傳遞對象(其實(shí)是結(jié)構(gòu)化的數(shù)據(jù)),從而對異構(gòu)系統(tǒng)來說更有優(yōu)勢。
3. 返回結(jié)果
Servlet返回的數(shù)據(jù)比較簡單。 Web Service返回的可以是復(fù)雜對象,甚至使用附件或者mutidata的二進(jìn)制文件。
4. 跨平臺性
Servlet依賴于Java平臺,具有單一依賴性。Web Service是跨平臺的,無論什么在什么平臺使用什么語言開發(fā)的Web Service,其他平臺上的任何語言都能調(diào)用。
總結(jié)一下Web Service和Servlet區(qū)別:
Servlet定義的是一套服務(wù)于Java Web開發(fā)接口,目的是實(shí)現(xiàn)Java Web的動態(tài)訪問。Web Service是定義了一套標(biāo)準(zhǔn)(SOAP、WSDL、UDDI),各種語言只要按照這個標(biāo)準(zhǔn)都能實(shí)現(xiàn)自己的Web Service,并且其他平臺和語言根據(jù)Web Service的描述文件WSDL就能夠輕易地訪問這個Web Service。
相關(guān): 選擇大數(shù)據(jù)培訓(xùn)課程學(xué)習(xí)真的很重要嗎,為什么_Java開發(fā)培訓(xùn)后的就業(yè)方向有哪些呢?
本文鏈接:
本文章“Web前端培訓(xùn) WebService和Servlet有什么區(qū)別”已幫助 256 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579