zoukankan      html  css  js  c++  java
  • Web Service和Servlet的区别(转)

      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

  • 相关阅读:
    33.数组声明方式(var构造函数) 、检测数组类型、数组的属性(封装好的就一个length)、数组的方法
    31.this指向(写出调用链,找最近对象) this的默认绑定 隐式绑定 显示绑定(call(绑定对象) apply(绑定对象) 当括号内没放绑定对象的时候恢复默认绑定) bind
    31.
    30.函数作用域链 (GO AO 也叫词法作用域链)、 调用栈、调用栈涉及this绑定
    29.包装类(构造函数) 包装类作用及调用栈
    916. Word Subsets
    246. Strobogrammatic Number
    445. Add Two Numbers II
    2. Add Two Numbers
    341. Flatten Nested List Iterator
  • 原文地址:https://www.cnblogs.com/asderx/p/4863180.html
Copyright © 2011-2022 走看看