`

Servelt与WebService的异同

 
阅读更多

  Servelt与WebService的异同:   
    
  请求:   
  客户端访问一个服务器的url,只需要发送简单的httprequest即可。   
  但servlet只能接受一个简单的http请求;   
  而WebService是可以发送一个xml作为其请求内容。   
    
  传输:   
  servlet使用http协议传输数据。   
  ws使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议。   
    
  返回结果:   
  servlet返回的是html页面;   
  ws返回的可以是复杂对象甚至使用附件或者mutidata的2进制文件。   
    
  部署:   
  servlet需要遵守j2ee的Web   Application规范部署的应用服务器上,如tomcat,weblogic,websphere;   
  WebService则需要有WSDL文件来部署服务,或者使用UDDI注册。   
    
  优势:   
  WebService的跨平台特性是servlet不能比的;   
  而servlet相对来说速度上的优势也是不可忽视的。   

------------------------------------------------------------------------------------------------------------------------------------------------------------

soap只是封装消息,它和传输没有关系。在使用soap时我们要通过传输协议完成,当然用的最多的就是http了。在   soap   spec   中并不限定你使用什么传输协议。   
      为了说明servlet和web   service的区别,我大致描述一下axis的实现吧。当一个带有soap消息的http请求传输到axis时,AxisServlet的doPost方法相应该请求。我们的请求往往是http://localhost:8080/axis/services/ServiceName,按照axis的默认的部署方式,通过http://localhost:8080/axis/services定位到AxisServlet,AxisServlet继承自HttpServlet,然后通过解析ServiceName定位到请求的是哪一个服务,这些都是axis实现好的。部署的服务你可这样理解:动态绑定到axis上的一些模块。   
  。然后Axis通过自己的一系列handler解析http带的soap消息,当然你可以实现自己的handler。通过解析soap消息取得调用的是哪一个方法,然后由soap中的消息值调用该方法,如果方法是Req-Res方式还要构建返回Soap消息。

分享到:
评论

相关推荐

    SOAP webserivce 和 RESTful webservice 对比及区别

    不过,直接调用Servlet通常是J2EE服务器端与这些客户端的交互方式。 总的来说,SOAP更适合需要强一致性、交易性和安全性的企业级应用,而RESTful则更适用于互联网和移动应用,强调简洁、高效和可扩展性。选择哪种...

    最新Java面试宝典pdf版

    6、SERVLET API中forward() 与redirect()的区别? 86 7、什么情况下调用doGet()和doPost()? 86 8、Request对象的主要方法: 87 9、forward 和redirect的区别 87 10、request.getAttribute() 和 request....

    Java面试宝典-经典

    6、SERVLET API中forward() 与redirect()的区别? 86 7、什么情况下调用doGet()和doPost()? 86 8、Request对象的主要方法: 87 9、forward 和redirect的区别 87 10、request.getAttribute() 和 request....

    java面试题大全(2012版)

    6、SERVLET API中forward() 与redirect()的区别? 86 7、什么情况下调用doGet()和doPost()? 86 8、Request对象的主要方法: 87 9、forward 和redirect的区别 87 10、request.getAttribute() 和 request....

    Java面试宝典2012版

    6、SERVLET API中forward() 与redirect()的区别? 86 7、什么情况下调用doGet()和doPost()? 86 8、Request对象的主要方法: 87 9、forward 和redirect的区别 87 10、request.getAttribute() 和 request....

    java面试宝典2012

    6、SERVLET API中forward() 与redirect()的区别? 94 7、什么情况下调用doGet()和doPost()? 94 8、Request对象的主要方法: 94 9、forward 和redirect的区别 95 10、request.getAttribute() 和 request....

    Java面试宝典2012新版

    6、SERVLET API中forward() 与redirect()的区别? 86 7、什么情况下调用doGet()和doPost()? 86 8、Request对象的主要方法: 87 9、forward 和redirect的区别 87 10、request.getAttribute() 和 request....

Global site tag (gtag.js) - Google Analytics