文章詳情頁
我需要學(xué)習(xí)Java中的Web服務(wù)。里面有什么不同的類型?
瀏覽:131日期:2024-04-27 16:29:36
如何解決我需要學(xué)習(xí)Java中的Web服務(wù)。里面有什么不同的類型??SOAP Web服務(wù)是基于標(biāo)準(zhǔn)的,并且?guī)缀跏苊總€(gè)軟件平臺的支持:它們高度依賴XML,并支持事務(wù),安全性,異步消息和許多其他問題。這是一個(gè)相當(dāng)大且復(fù)雜的標(biāo)準(zhǔn),但幾乎涵蓋了所有消息傳遞情況。另一方面,RESTful服務(wù)依賴于HTTP協(xié)議和動(dòng)詞(GET,POST,PUT,DELETE)來交換任何格式的消息,最好是JSON和XML。這是一種非常簡單而優(yōu)雅的架構(gòu)方法。就像Java世界中的每個(gè)主題一樣,有多個(gè)庫可以構(gòu)建/使用Web服務(wù)。在SOAP Side中,您具有JAX-WS標(biāo)準(zhǔn)和Apache Axis,在REST中,您可以在其他庫中使用Restlets或Spring REST工具。
對于問題3,本文指出RESTfulServices在這種情況下適用:
如果帶寬有限如果您的操作是無狀態(tài)的:從一次調(diào)用到下一次調(diào)用不會(huì)保留任何信息,并且每個(gè)請求都將被獨(dú)立處理。 如果您的客戶需要緩存。在以下情況下,SOAP是必經(jīng)之路:
如果需要異步處理 如果您需要正式合同/接口 在服務(wù)中,操作是有狀態(tài)的:例如,您在一個(gè)請求上存儲(chǔ)信息/數(shù)據(jù),并在下一個(gè)請求上使用該存儲(chǔ)的數(shù)據(jù)。解決方法最近,我決定開始學(xué)習(xí)Java Web服務(wù),并且當(dāng)我開始在Google中搜索JavaWeb服務(wù)的教程時(shí),我發(fā)現(xiàn)有很多類型的Web服務(wù)基于XML,基于SOAP以及RESTful Web服務(wù)。
另外,我發(fā)現(xiàn)有一個(gè)用于基于xml的Web服務(wù)的JAX-WS規(guī)范和一個(gè)用于創(chuàng)建RESTful Web服務(wù)的JAX-RS規(guī)范。
Q1)我很困惑,如果有人可以幫助我理解這些不同類型的Web服務(wù)之間的區(qū)別,那太好了,這樣我可以決定首先學(xué)習(xí)哪個(gè)。
Q2)另外,我想深入學(xué)習(xí)有關(guān)在Java中創(chuàng)建不同類型的Web服務(wù)的信息。是否有任何教程或資源可以深入了解每種Web服務(wù)以及它們之間的比較。
Q3)基于什么情況和條件,我應(yīng)該決定創(chuàng)建基于XML的Web服務(wù)而不是SOAP服務(wù),或者應(yīng)該使用RESTful服務(wù)。
標(biāo)簽:
java
相關(guān)文章:
1. java - spring boot 如何打包成asp.net core 那種獨(dú)立應(yīng)用?2. android - SwipeRefreshLayout5.0以下不兼容3. docker start -a dockername 老是卡住,什么情況?4. python文檔怎么查看?5. 安全性測試 - nodejs中如何防m(xù)ySQL注入6. javascript - 關(guān)于apply()與call()的問題7. javascript - webpack 分割加載代碼后,react 界面不更新8. java - 在用戶不登錄的情況下,用戶如何添加保存到購物車?9. javascript - nginx反向代理靜態(tài)資源403錯(cuò)誤?10. datetime - Python如何獲取當(dāng)前時(shí)間
排行榜

熱門標(biāo)簽