• 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

  • 相关阅读:
    H5移动前端完美布局之-margin百分比的使用
    javascript 一个关于时间排序的算法(一个页面多个倒计时排序)
    html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计
    Windows 下关于转码的函数
    项目编译完之后自动提交
    eclipse 包含头文件出错
    Eclipse 包含头文件 添加环境变量
    linux下mongodb程序和c++客户端的编译
    简单谈谈消息发送缓冲区
    epoll 性能分析(解决占用CPU 过高问题)2
  • 原文地址:https://www.cnblogs.com/asderx/p/4863180.html
Copyright © 2020-2023  润新知