您好,歡迎來到賦能網(wǎng)!

Web前端培訓(xùn) WebService和Servlet有什么區(qū)別

賦能網(wǎng) 2023-06-14 256

web前端培訓(xùn)

學(xué)過web前端培訓(xùn)的同學(xué)有人會(huì)覺得覺得Servlet可以對(duì)Http請(qǐng)求進(jìn)行相應(yīng)并返回?cái)?shù)據(jù),而Web Service只不過是基于SOAP協(xié)議和XML對(duì)數(shù)據(jù)進(jìn)行封裝了,也是采用Http協(xié)議來傳輸數(shù)據(jù),后來通過慢慢閱讀相關(guān)材料,加上實(shí)際操作,才發(fā)現(xiàn)Web Service和Servlet區(qū)別很大,根本不是在一個(gè)層次上的東西,下面我們從各個(gè)不同的角度來看看Web Service和Servlet區(qū)別到底有哪些。

1. 概念

Servlet(Server Applet)稱為小服務(wù)程序或服務(wù)連接器,用java編寫的服務(wù)器端程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。Servlet是Java對(duì)于Web開發(fā)而產(chǎn)生的一項(xiàng)技術(shù),可以說Servlet技術(shù)是Java專有的,它是服務(wù)器端的技術(shù),客戶端通常是瀏覽器,Servlet提供了請(qǐng)求/響應(yīng)模式,是JAVA的一種規(guī)范,只能使用于Java上,用來替代早期使用的難懂的CGI,是一種無狀態(tài)的請(qǐng)求響應(yīng),客戶端訪問一個(gè)服務(wù)器的url,只需要發(fā)送簡(jiǎn)單的httprequest即可。規(guī)定了四個(gè)范圍:pageContext、request、session、application。一定依賴于各種Servlet容器,但Servlet只能接受一個(gè)簡(jiǎn)單的http請(qǐng)求。

Web Service是一個(gè)平臺(tái)獨(dú)立的,低耦合的,自包含的、基于可編程的web的應(yīng)用程序,可使用開放的XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)子集)標(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)都支持,帶有狀態(tài)機(jī)制,不依賴于容器,可以發(fā)送一個(gè)xml作為其請(qǐng)求內(nèi)容。WebService通常是基于http的遠(yuǎn)程方法調(diào)用(RMI),號(hào)稱是可以反回遠(yuǎn)程對(duì)象,一般來說客戶段可以象調(diào)用本地方法一樣調(diào)用WebService的方法。

可以這么說,開發(fā)一個(gè)WebService系統(tǒng),把它放到互聯(lián)網(wǎng)上,生成一個(gè)WebService描述文件wsdl,全世界的任何人,使用幾乎任何開發(fā)工具,引用了這個(gè)wsdl,就像引用了一個(gè)動(dòng)態(tài)庫(kù)的頭文件一樣,方便的調(diào)用你的WebService接口,就像調(diào)用本地的方法一樣。

2. 數(shù)據(jù)傳輸

Servlet使用Http協(xié)議傳輸數(shù)據(jù),如果你用Servlet返回XML,那個(gè)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)在于可以傳遞對(duì)象(其實(shí)是結(jié)構(gòu)化的數(shù)據(jù)),從而對(duì)異構(gòu)系統(tǒng)來說更有優(yōu)勢(shì)。

3. 返回結(jié)果

Servlet返回的數(shù)據(jù)比較簡(jiǎn)單。 Web Service返回的可以是復(fù)雜對(duì)象,甚至使用附件或者mutidata的二進(jìn)制文件。

4. 跨平臺(tái)性

Servlet依賴于Java平臺(tái),具有單一依賴性。Web Service是跨平臺(tái)的,無論什么在什么平臺(tái)使用什么語言開發(fā)的Web Service,其他平臺(tái)上的任何語言都能調(diào)用。

總結(jié)一下Web Service和Servlet區(qū)別:

Servlet定義的是一套服務(wù)于Java Web開發(fā)接口,目的是實(shí)現(xiàn)Java Web的動(dòng)態(tài)訪問。Web Service是定義了一套標(biāo)準(zhǔn)(SOAP、WSDL、UDDI),各種語言只要按照這個(gè)標(biāo)準(zhǔn)都能實(shí)現(xiàn)自己的Web Service,并且其他平臺(tái)和語言根據(jù)Web Service的描述文件WSDL就能夠輕易地訪問這個(gè)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)本信息引起的任何交易及知識(shí)產(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

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: