Web Service和Servlet的区别

 我来答
妥当且坦率的才俊k
推荐于2016-05-05 · TA获得超过3825个赞
知道小有建树答主
回答量:1008
采纳率:80%
帮助的人:962万
展开全部
  • Servlet是Java对于Web开发而产生的一项技术,可以说Servlet技术是Java专有的,它是服务器端的技术,客户端通常是浏览器,而WebService是在DCOM   CORBA等分布式技术之后发展起来的。WebService有一个国际通用的标准SOAP。具体规范发布在   http://www.w3.org/TR/SOAP/  

  • SOAP是为了在Internet   环境下,实现系统是松散耦合的、跨平台的,与语言无关的,与特定接口无关的,而且要提供对Web   应用程序的可靠访问。几乎所有的开发工具都可以开发WebService系统,包括Java,C#,甚至基于VCL架构的Delphi。而且   所开发出来的WebService系统,可以方便的被各种客户端调用,包括,浏览器,W32应用程序,还有Java   App。  

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

  • 综上所述: 

      1、WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象,    一般来说客户段可以象调用本地方法一样调用WebService的方法。   
      2、WebService使用的SOAP是一种通用的格式,不管什么样的客户端都可以。  
      3、如果你用Servlet返回XML,那个XML的描述框架就是你定的喽?你能确保别人都能看明白你的XML格式含义?  
      4、WebService并不复杂,开发起来甚至比Servlet还简单。  
      5、如果客户段需要传递一个复杂的多维数组给服务端,Servlet怎么办?  
      6。webservice的优点在于可以传递对象(其实是结构化的数据),从而对异构系统来说更有优势 
      其实最重点要的,是WebService的方法返回消息是有标准的(大家通用,谁都能看懂),如果用Servlet所返回XML,是没有标准的 

    在我们的项目中,一个java web项目要使用另一个java web的方法,这时可以选择servlet和webservice方法,我们使用servlet方法,使用httpclient访问,地址为http://ip/servlet/servletname 访问成功。 
    关于如何返回数据,out对象输出即可 

    servlet到是也可以传对象 只要能序列化 

    其实 servlet和webservice不是一个层次上的东西 不可比 
    servlet定义的是一套interface 
    目的是实现 java在web上的动态访问(不知局限于http协议的 至少还有ftp协议) 

    webservice定义的是一套标准(SOAP/UDDI/WSDL... 比API更抽象),与语言无关 协议无关 平台无关 
    目的是实现基于service的组件(相对于EJB DCOM ....) 
    从webservice的目的不难看出 他的复杂度还是相当大的 (EJB需要考虑的他都要进行实现) 包括安全性 事务性 等等.... 远不止上面列出的SOAP/UDDI/WSDL

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式