servlet webservice 区别

http://bbs.csdn.net/topics/200037424
http://blog.csdn.net/linwei_1029/article/details/7033566

我感觉,如果服务端用java开发的话,在相同的机器配置下,servlet效率可能会比webservice高很多,webservice能做的事情,servlet都可以完成.两者都是通过http请求发送到服务端的servlet处理,只要支持http协议实现的客户端,都可以与servlet或webservice交互.既然是这样才用webservice有多大好处?

共同点:两者都可以用来传递数据
不同点:
1>
servlet是基于servlet容器的,有request,session, pageContext等概念。
webservice,提供了XML-RPC,实现了异构系统的之间通信。

2>
webservice 能接受复杂对象
servlet 只能传递一些字符串信息,
  servlet使用http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。  
  webservice使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议,方法返回消息是有标准的。  

3>
优势:  
  WebService的跨平台特性是servlet不能比的,可以被各种语言调用;  
  servlet相对来说速度上的优势也是不可忽视的。

4>
俩就不是用来干同样事情的东西,怎么比较?
Servlet是java用来开发HTTP Web应用的基础,你可以使用Servlet来做“你”自己的系统,想咋用就咋用!

但是如果你的系统需要“别人”系统提供数据活这完成一定操作,“你”用Servlet就不行了。

比如你做了一个网上书店系统,想直接通过银行直接付款

客户定书---》在你的系统某个页面付款---》你的系统调用银行系统的WebService,完成转账---》银行给你反馈成功---》发货(货到付款不在此列)

如果不用WebService之类的系统间的交互,上边的功能就不能实现了(只能货到付款),当然,银行有没有用用WebService这种系统交互方式,我就不知道了

Servlet的交互:
 
   客户端《-------》你的服务器端

WebService:

   客户端《-------》你的服务器端《-------这个交互可以用WebService,但是不能用Servlet-------》别人的服务器

客户端到你的服务器端的交互走的是纯粹的Http,和WebService么关系,服务器之间的交互可以用WebService

你可能感兴趣的:(webservice)