其实从实现的效果上,是很相似的 相同点: 客户端访问一个服务器的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相对来说速度上的优势也是不可忽视的。
1、WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象, 一般来说客户段可以象调用本地方法一样调用WebService的方法。
2、WebService使用的SOAP是一种通用的格式,不管什么样的客户端都可以。
3、如果你用Servlet返回XML,那个XML的描述框架就是你定的喽?你能确保别人都能看明白你的XML格式含义?
4、WebService并不复杂,开发起来甚至比Servlet还简单。
5、如果客户段需要传递一个复杂的多维数组给服务端,Servlet怎么办?
6。webservice的优点在于可以传递对象(其实是结构化的数据),从而对异构系统来说更有优势
其实最重点要的,是WebService的方法返回消息是有标准的(大家通用,谁都能看懂),如果用Servlet所返回XML,是没有标准的