webservice与servlet的区别

Servelt与WebService的异同:  
   
  请求:  
  servlet:提供了请求/响应模式,是JAVA的一种规范,只能使用于java上,用来替代早期使用的难懂的CGI,是一种无状态的请求响应,客户端访问一个服务器的url,只需要发送简单的httprequest即可。 规定了四个范围:pageContext、request、session、application。一定依赖于各种SERVLET容器,但servlet只能接受一个简单的http请求;   
  WebService最早是微软提出了一种以XML为载体网络信息传输的规范,现在几乎所有的语言与平台都支持,带有状态机制,不依赖于SERVLET容器,可以发送一个xml作为其请求内容,WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象, 一般来说客户段可以象调用本地方法一样调用WebService的方法。 

  传输:  
  servlet使用http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。  
  webservice使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议,方法返回消息是有标准的。  
   
  返回结果:  
  servlet返回的是html页面;  
  webservice返回的可以是复杂对象甚至使用附件或者mutidata的二进制文件。  
   
  部署:  
  servlet需要遵守j2ee的Web   Application规范部署的应用服务器上,如tomcat,weblogic,websphere;  
  WebService则需要有WSDL文件来部署服务,或者使用UDDI注册。  
   
  优势:  
  WebService的跨平台特性是servlet不能比的,可以被各种语言调用;   
  servlet相对来说速度上的优势也是不可忽视的。 

 

你可能感兴趣的:(webservice)