俩就不是用来干同样事情的东西,怎么比较?
Servlet是java用来开发HTTP Web应用的基础,你可以使用Servlet来做“你”自己的系统,想咋用就咋用!
但是如果你的系统需要“别人”系统提供数据活这完成一定操作,“你”用Servlet就不行了。
比如你做了一个网上书店系统,想直接通过银行直接付款
客户定书---》在你的系统某个页面付款---》你的系统调用银行系统的WebService,完成转账---》银行给你反馈成功---》发货(货到付款不在此列)
如果不用WebService之类的系统间的交互,上边的功能就不能实现了(只能货到付款),当然,银行有没有用用WebService这种系统交互方式,我就不知道了
Servlet的交互:
客户端《-------》你的服务器端
WebService:
客户端《-------》你的服务器端《-------这个交互可以用WebService,但是不能用Servlet-------》别人的服务器
客户端到你的服务器端的交互走的是纯粹的Http,和WebService么关系,服务器之间的交互可以用WebService
AxisServlet跳转?楼主理解得不对,这个Serverlet是为了让SERVLET容器(TOMCAT,WEBLOGIC etc)启动时加载你的WEB SERVICES服务,不是用来跳转的。当然你可以不用AxisServlet,可以自己写段代码来监听http端口,来实现WEBSERVICES。
webservice,提供了XML-RPC,实现了异构系统的之间通信,类似于EJB中的远程方法调用,通过SOAP实现异构系统件的数据交换,好像和SERVLET一点关系都没有吧,楼主怎么出了个提出讨论SERVLET与webservices之间的关系? 可能楼主被这个名字迷惑了,如果WEB SERVICES起个名字叫 soap-rpc,就清楚多了 |
-----------------------
相同点:
客户端访问一个服务器的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相对来说速度上的优势也是不可忽视的。
--------------
总结一下(请指正):
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相对来说速度上的优势也是不可忽视的。