Web Service和Servlet的区别

没接触过web service今天看了一篇文章转过来。

在最开始学习Web Service时候,总觉得Web Service和Servlet没有什么区别,觉得Servlet可以对Http请求进行相应并返回数据,而Web Service只不过是基于SOAP协议和XML对数据进行封装了,也是采用Http协议来传输数据,后来通过慢慢阅读相关材料,加上实际操作,才发现Web Service和Servlet有很大区别,根本不是在一个层次上的东西,于是对于它们的区别进行总结。

1. 整体概念

Servlet是Java对于Web开发而产生的一项技术,可以说Servlet技术是Java专有的,它是服务器端的技术,客户端通常是浏览器,Servlet提供了请求/响应模式,是JAVA的一种规范,只能使用于Java上,用来替代早期使用的难懂的CGI,是一种无状态的请求响应,客户端访问一个服务器的url,只需要发送简单的httprequest即可。规定了四个范围:pageContext、request、session、application。一定依赖于各种Servlet容器,但Servlet只能接受一个简单的http请求。

WebService最早是微软提出了一种以XML为载体网络信息传输的规范,现在几乎所有的语言与平台都支持,带有状态机制,不依赖于容器,可以发送一个xml作为其请求内容。WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象,一般来说客户段可以象调用本地方法一样调用WebService的方法。

可以这么说,开发一个WebService系统,把它放到互联网上,生成一个WebService描述文件wsdl,全世界的任何人,使用几乎任何开发工具,引用了这个wsdl,就像引用了一个动态库的头文件一样,方便的调用你的WebService接口,就像调用本地的方法一样。

2. 数据传输

Servlet使用Http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。

Webservice使用固定的XML格式封装成soap消息,可以使用Http作为底层数据传输,但并不局限于Http协议,方法返回消息是有标准的。 Web Service的优点在于可以传递对象(其实是结构化的数据),从而对异构系统来说更有优势。

3. 返回结果

Servlet返回的数据比较简单。

Web Service返回的可以是复杂对象,甚至使用附件或者mutidata的二进制文件。

4. 跨平台性

Servlet依赖于Java平台。

Web Service是跨平台的,无论什么在什么平台使用什么语言开发的Web Service,其他平台上的任何语言都能调用。

总的来说:

Servlet定义的是一套服务于Java Web开发接口,目的是实现Java Web的动态访问。

Web Service是定义了一套标准(SOAP、WSDL、UDDI),各种语言只要按照这个标准都能实现自己的Web Service,并且其他平台和语言根据Web Service的描述文件WSDL就能够轻易地访问这个Web Service。

转自:http://blog.csdn.net/guoweimelon/article/details/50772919

原文地址:https://www.cnblogs.com/heiming/p/8177329.html

时间: 2024-09-30 05:20:44

Web Service和Servlet的区别的相关文章

Web Service和WCF的区别。其实二者不属于一个范畴!!!

Web Service和WCF的区别 [1]Web Service:严格来说是行业标准,也就是Web Service 规范. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是跨语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.     

Web Service和WCF的区别

*Web Service和WCF的区别: Web Service是一种行业标准,也就是Web Service规范,既不是框架也不是技术 WCF是一个分布式应用的开发框架,属于特定的技术,或者是平台,既不是标准也不是规范->DCOM协议 分布式组件对象模型 是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象. DCOM基于组件对象模型(COM),COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口

Web Service和EJB的区别

1.WebService可以说是跨平台的,因为它采用的是XML技术,说穿了就是把你的请求按照该WebServece的标准将参数传过去,然后服务器返回结果,当然了最重要的是参数的传递和结果的返回都是采用XML格式,但需要按照规范的,现在有SOAP和ebXML,说到XML自然有DTD或是Schema了,它用WSDL和UDDI来管理这些规范.EJB也可以说成是远程调用,但采用的协议是RIM/IIOP,客户端将方法请求按照协议封装,然后发送到服务器,服务器把结果返回给客户端.由于采用了协议,所以传输的数

面试题:Web Service与wcf的区别

Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.     

Servlet和Web Service的区别

在最开始学习Web Service时候,总觉得Web Service和Servlet没有什么区别,觉得Servlet可以对Http请求进行相应并返回数据, 而Web Service只不过是基于SOAP协议和XML对数据进行封装了,也是采用Http协议来传输数据,后来通过慢慢阅读相关材料,加上实际操作,才发现Web Service和Servlet有很大区别,根本不是在一个层次上的东西,于是对于它们的区别进行总结 1. 整体概念 Servlet是Java对于Web开发而产生的一项技术,可以说Serv

转-Web Service中三种发送接受协议SOA、http get、http post

原文链接:web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 一.web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 在web服务中,有三种可供选择的发送和接受信息的协议:SOAP,HTTP GET,HTTP POST,但是SOAP支持的数据类型更为广泛 SOAP=RPC+HTTP+XML SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议:RPC作为一致性的调用途径,XML作为数据传送的格式

servlet中的HttpServletRequest,HttpServletResponse对象以及service 和 doXX方法区别

一:HttpServletRequest对象作用是用于获取请求数据. 核心的API: 请求行: request.getMethod(); 请求方式 request.getRequetURI() / request.getRequetURL() 请求资源 request.getProtocol() 请求http协议版本 请求头: request.getHeader("名称") 根据请求头获取请求值 request.getHeaderNames() 获取所有的请求头名称 实体内容: req

REST和SOAP Web Service的区别比较

本文转载自他人的博客,ArcGIS Server 推出了 对 SOAP 和 REST两种接口(用接口类型也许并不准确)类型的支持,本文非常清晰的比较了SOAP和Rest的区别联系! ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////REST似乎在一夜间兴起了,这可能引起一些争议,反对者可以说REST是

WCF、Net remoting、Web service概念及区别

Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit,SDK). WCF就是微软对于分布式处理的 编程技术的集大成者,它将DCOM.Remoting.Web Service.WSE.MSMQ集成在一起,从而降低了分布式系统开发者的学习曲线,并统一了开发标准. WCF是建立在.Net Framework 2.0基础之上的,包含在.NET 3.0/3.5