设为首页 收藏本站
查看: 1380|回复: 0

[经验分享] Servlet与WebService关系

[复制链接]

尚未签到

发表于 2017-2-19 06:10:10 | 显示全部楼层 |阅读模式
  其实从实现的效果上,它们是很相似的   
   
  相同点:   
  客户端访问一个服务器的url,然后得到返回结果。   
  我们使用的servlet是基于   http的请求应答模式的   
  大部分WebService低层也使用http作为实现。   
   
  客户端方面,   
  2者都不局限,只要是能够发送http请求的客户端,可是是普通application可以是浏览器,可是j2me,jese平台甚至是其他语言的任何形式的客户端。这一点是由http协议的特点决定的。   
   
   
  区别:   
  但是servlet只能接受一个简单的http请求,而WebService是发送一个xml作为其请求内容。   
  作为返回结果,servlet是html页面,而ws可以是复杂对象甚至使用附件或者mutidata的2进制文件。   
   
  服务器方面不要一样,前者需要遵守j2ee的Web   Application规范部署在tomcat,weblogic这样的应用服务器上。WebService则需要有WSDL文件来部署服务,或者使用UDDI注册。   
   
   
  其实一开始我看到这个标题就觉得两者根本就是不相干的,怎么能比呢。   
  这下一分析,因为他们底层的http实现让他们真的很相似。   
  WebService的跨平台特性是servlet不能比的   
  而servlet相对来说速度上的优势也是不可忽视的。   
  Top
2 楼gstart(Hawk)回复于 2005-08-08 17:05:38 得分 0
  我在本版问了个ejb和web   service的问题,都没有人理会.楼上这位仁兄对servlet和web   service的区别讲的很好,顺便也讲一下ejb和web   service吧,   我觉得web   service   用来代替无状态会话bean是个不错的主意呢.   web   service好像可以部署在tomcat上吧,ejb对运行环境要求则比较苛刻了.   
   
  楼上的高手能否指点一下   ejb和web   service   分别用在什么场合比较合适Top
3 楼layueer(爱伤怀,努力升仙)回复于 2005-08-08 17:30:40 得分 0
  强顶Top
4 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-08-08 19:15:06 得分 0
  其实我还不会ejb呢,因为我不喜欢ejb这么累赘的东西。   
  但是WebService在效率上也是不好的,但是它是在xml的应用之上,那么必然平台无关语言无关,这是我最喜欢它的地方。   
  Tomcat里面可以使用axis(apache的一个ws项目)部署ws,比较简单。Top
5 楼launch401(乌兰巴托的夜 那么静 那么静)回复于 2005-08-09 10:02:35 得分 0
  按照JAX-RPC,servlet和stateless   session   bean都可以包装成webservices服务器端组件,分别运行在servlet容器和ejb容器中,实际上可以当作是特殊的servlet和ejb。   
   
  只不过用soap传输,而不是用http传输。Top
6 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-08-09 10:05:43 得分 0
  只不过用soap传输,而不是用http传输。   
  ---------   
  soap传输的底层实现就是http的请求,soap实际上是使用其固定的xml格式包装了请求信息罢了Top
7 楼Adamyong(阿永)回复于 2005-08-12 00:31:33 得分 5
  基本上比较同意jFresH_MaN的观点。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消息。Top
8 楼layueer(爱伤怀,努力升仙)回复于 2005-08-12 09:23:59 得分 0
  学习Top
9 楼dddddy(随遇而安)回复于 2005-08-12 18:25:05 得分 0
  这个贴子该加入精华了。Top
10 楼dianweihu(忘了)回复于 2005-08-26 12:52:23 得分 0
  总结一下(请指正):   
   
  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相对来说速度上的优势也是不可忽视的。   
   
  Top
11 楼simon0512(虫虫)回复于 2005-08-27 00:13:35 得分 0
  学习   
  Top
12 楼gaoan(流浪花---不迁怒,不二过.)回复于 2005-08-27 00:38:26 得分 0
  学习,   
   
  对web   service   没经验...Top
13 楼ytcx_lt_82(仰天长啸)回复于 2005-09-01 19:49:49 得分 0
  顶啊!受益非浅啊!Top
14 楼metaphy(六千尺外的查拉图斯特拉)回复于 2005-09-05 09:50:55 得分 0
  优势:   
  WebService的跨平台特性是servlet不能比的;   
  而servlet相对来说速度上的优势也是不可忽视的。   
  ------------------------------------------------   
  不解,这个"跨平台"是什么意思?   
  是说用xml   格式的数据的跨平台?   
  不过不论从哪里来看,WebService   好像并没有多么大的优势   
  Top
15 楼kingofhawks(蓝鹰)回复于 2005-09-06 11:57:44 得分 0
  呵呵,学习一下不知道的东西.Top
16 楼dianweihu(忘了)回复于 2005-09-07 09:17:03 得分 0
  跨平台   
  与具体的开发平台无关   
  Servlet必须依赖于java平台   
  而WS在任何平台下都可以做的,只要符合其描述规范就ok了Top
17 楼irvine007(┣━┫Rvine)回复于 2005-09-07 20:56:46 得分 0
  顶~~   
  Top
18 楼sqlink()回复于 2005-09-07 21:36:23 得分 5
  servlet除了可以处理web   service之外,还能处理标准的HTML。   
  不过web   service作为rich   client的通讯手段其效率实在是太低了,不过兼容性到非常的好

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-343975-1-1.html 上篇帖子: 内容管理系统概述(c) 下篇帖子: Web安全实践(7)web服务器简介及常用攻击软件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表