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
Web Service和Servlet的区别的更多相关文章
- Web Service和Servlet的区别(转)
Servlet是Java对于Web开发而产生的一项技术,可以说Servlet技术是Java专有的,它是服务器端的技术,客户端通常是浏览器. WebService是在DCOM/CORBA等分布式技术之后 ...
- Web Service和WCF的区别。其实二者不属于一个范畴!!!
Web Service和WCF的区别 [1]Web Service:严格来说是行业标准,也就是Web Service 规范. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展 ...
- Web Service和ISAPI的区别与联系 转
Web Service和ISAPI的区别与联系 1.Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service ...
- Delphi Web Service和ISAPI的区别与联系 转
Web Service和ISAPI的区别与联系 1.Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service ...
- web service与EJB的区别
1.WebService可以说是跨平台的,因为它采用的是XML技术,说穿了就是把你的请求按照该WebServece的标准将参数传过去,然后服务器返回结果,当然了最重要的是参数的传递和结果的返回都是采用 ...
- Service和Servlet的区别
1. 整体概念 Servlet是Java对于Web开发而产生的一项技术,可以说Servlet技术是Java专有的,它是服务器端的技术,客户端通常是浏览器,Servlet提供了请求/响应模式,是JAVA ...
- Web Service 与WebAPI 的区别
Web Servise: web service 是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作系统平台,就是说服务器端程序采用Java编写,客户端程序则可以采用其他编程语言 ...
- Web Service和WCF的区别
[1]Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XM ...
- 转-Web Service中三种发送接受协议SOAP、http get、http post
原文链接:web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 一.web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 在web服务中,有三种可供选择的发 ...
随机推荐
- Angular入门(三) 引入boostrap4
1.cnpm install ngx-bootstrap bootstrap --save ※可能缺少jquery cnpm i jquery 2. 打开 angular-cli.json (项目 ...
- 160722、Javascript函数节流
最近在做网页的时候有个需求,就是浏览器窗口改变的时候需要改一些页面元素大小,于是乎很自然的想到了window的resize事件,于是乎我是这么写的 <!DOCTYPE html> < ...
- 3年工作经验的Java程序员面试经
转发自用~ 一.Java基础部分 1.使用length属性获取数组长度,public.private.protected.friendly区别 2.Collection和Collections区别 3 ...
- 烂笔头-Spring3
1.spring相关jar包的导入 2.配置文件bean.xml <?xml version="1.0" encoding="UTF-8"?> &l ...
- Jupyter Notebook远程服务器配置
首先要生成密码,打开python终端. In [1]: from IPython.lib import passwd In [2]: passwd() Enter password: Verify p ...
- python抓取网页中的动态数据
一.概念 网页中的许多数据并不是写死在HTML中的,而是通过js动态载入的.所以也就引出了什么是动态数据的概念,动态数据在这里指的是网页中由Javascript动态生成的页面内容,是在页面加载到浏览器 ...
- maven pom.xml常用标签 Exclusions plugins是什么意思
Exclusions maven的依赖(dependencies)有传递性,为了解决兼容性问题,就用exclusions来排除造成兼容性问题的依赖. 写法如下: 加入项目A依赖项目B,项目B依赖项目C ...
- 细数Python中的数据类型以及他们的方法
一.数据类型的种类及主要功能 1.数字类型 数字类型主要是用来计算,它分为整数类型int和浮点类型float 2.布尔类型 布尔类型主要是用于判断,它分为真True和False两种 3.字符串类型 字 ...
- 对ASIHTTPRequest的封装
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/quanqinayng/article/details/37659751 .h文件 // // Ht ...
- mongo 一次插入多条
db.getCollection('organization').insert( [ {"organizationTitle" : "台州广播电台1", &qu ...