`
- 浏览:
324380 次
- 性别:
- 来自:
深圳
-
【转】servlet,RMI,webservice之间的区别
转载自:http://blog.csdn.net/linwei_1029/article/details/7033566
首先比较下servlet和webservice下
1、请求:
servlet:提供了请求/响应模式,是JAVA的一种规范,只能使用于java上,用来替代早期使用的难懂的CGI,是一种无状态的请求响应,客户端访问一个服务器的url,只需要发送简单的httprequest即可。 规定了四个范围:pageContext、request、session、application。一定依赖于各种SERVLET容器,但servlet只能接受一个简单的http请求;
WebService最早是微软提出了一种以XML为载体网络信息传输的规范,现在几乎所有的语言与平台都支持,带有状态机制,不依赖于SERVLET容器,可以发送一个xml作为其请求内容,WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象, 一般来说客户段可以象调用本地方法一样调用WebService的方法。
2、传输:
servlet使用http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。
webservice使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议,方法返回消息是有标准的。
3、返回结果:
servlet返回的是html页面;
webservice返回的可以是复杂对象甚至使用附件或者mutidata的二进制文件。
4、部署:
servlet需要遵守j2ee的Web Application规范部署的应用服务器上,如tomcat,weblogic,websphere;
WebService则需要有WSDL文件来部署服务,或者使用UDDI注册。
5、优势:
WebService的跨平台特性是servlet不能比的,可以被各种语言调用;
servlet相对来说速度上的优势也是不可忽视的。
-------------------------------------------------------------------------
接下来在看看RMI和webservice中的
rmi的客户端和服务端都必须是java,webservice没有这个限制
webservice是在http协议上传递xml文本文件,与语言和平台无关
rmi是在tcp协议上传递可序列化的java对象,只能用在java虚拟机上,绑定语言
RMI是EJB远程调用的基础,仅用RMI技术就可以实现远程调用,使用EJB是为了实现组件,事物,资源池,集群等功能。
WebService是通过XML来传输数据,可用http等协议因此可在异构系统间传递,并且可以穿过防火墙,可在公网上远程调用
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### 3步骤将JAVA程序转换为WEBSERVICE 在当今高度互联的世界中,Web服务扮演着连接不同系统、平台和应用程序的重要角色。Java作为一种广泛使用的编程语言,在开发可互操作的Web服务方面拥有强大的能力。本文将详细...
Java WebService是一个基于标准的,用于构建分布式应用程序的开放平台,它允许不同系统间的应用程序通过...理解这些基础将有助于你更好地掌握Java WebService的开发,并应用于实际项目中,实现不同系统之间的无缝集成。
### 使用Axis 1.4与iBatis 2.3开发WebService服务 #### 背景及选择原因 本文档旨在介绍如何使用Axis 1.4结合iBatis 2.3来构建一个稳定的WebService服务。尽管Axis 2提供了一些改进和新特性,但在实际项目部署过程...
实现Struts+Spring+Hibernate+WebService的集成架构,关键在于各层之间的协调工作。例如,Action在接收到用户请求后,调用Spring管理的业务逻辑组件执行业务处理,处理结果通过DAO层和Hibernate持久化至数据库,最终...
它允许不同平台上的应用程序通过网络进行通信,实现了服务提供者和服务消费者之间的松耦合。 在Java中,Apache Axis是一个流行的开源工具,用于创建和部署Web服务。下面是关于如何使用Axis创建和调用Java ...
- **Servlet Container**: 使用Tomcat作为Servlet容器,本文档使用的是Tomcat 5.0。 - **安装步骤**: 1. **下载Axis安装包**:访问官方网站http://ws.apache.org/axis/下载最新版的Axis安装包。 2. **解压...
2. **远程调用中间件**:支持分布式系统的组件之间进行方法调用,如RMI(Remote Method Invocation)或CORBA(Common Object Request Broker Architecture)。 3. **消息中间件**:提供异步消息传递,如JMS(Java ...
例如,RMI(Remote Method Invocation)是Java中的远程方法调用中间件,允许Java对象在不同 JVM 之间进行通信。 - 中间件分类: - 数据访问中间件:如ODBC,JDBC,用于数据库访问。 - 远程调用中间件:如RMI,...
例如,RMI允许Java对象在不同JVM之间进行方法调用,从而实现分布式系统的构建。 总结: 在Java面试中,了解和掌握MVC设计模式的原理及其在Struts框架中的应用、WebService的定义、工作原理和优点,以及中间件的概念...
- **C (Controller):** 控制器作为模型和视图之间的桥梁,负责处理用户的输入,并根据这些输入更新模型和视图。 **MVC框架的一种实现模型 - 模型二 (Servlet-centric)** 模型二是MVC的一种实现方式,其核心是...
在Web应用中,例如使用Struts框架,Model由JavaBean或EJB实现业务逻辑,View通常用JSP创建,Controller通过ActionServlet控制数据流,ActionServlet调用自定义的Action,Action则负责具体的业务逻辑处理。...
- **远程调用中间件**:支持不同网络节点间的对象调用,如RMI(Remote Method Invocation)或CORBA。 - **消息中间件**:提供异步消息传递,如JMS(Java Message Service)。 - **交易中间件**:处理分布式事务,...
- Controller:作为Model和View之间的桥梁,处理用户输入,控制数据流向,通常以Servlet或Struts中的ActionServlet为例。 Struts是一个基于MVC模式的Web应用框架,它的Controller由ActionServlet实现,Model由...
例如,远程方法调用(RMI)允许一个Java虚拟机上的对象调用另一个Java虚拟机上的对象的方法;负载均衡(LoadBalancing)则用于将访问负荷分散到各个服务器中,避免单个服务器压力过大导致性能瓶颈。
WebService是一种遵循特定标准的服务接口,它允许应用程序之间通过HTTP协议进行相互通信。WebService的关键特点是跨语言和跨平台性,这得益于其基于XML的标准协议。 - **WebService的组成**:主要包括WSDL(Web ...
### 软件工程师面试题解析 #### 一、MVC设计模式理解及...例如,RMI(Remote Method Invocation)允许Java对象跨越网络进行调用;而Load Balancing和Transparent Fail-over则是用于提高系统性能和可靠性的中间件功能。
中间件可以分为多种类型,如数据访问中间件(用于数据库访问),远程调用中间件(如RMI,Remote Method Invocation,用于Java应用间的远程方法调用),消息中间件(如MQ,Message Queue,处理异步通信),交易中间件...
2. **远程调用中间件**:如RMI(Remote Method Invocation),支持Java对象间的远程调用。 3. **消息中间件**:如JMS(Java Message Service),提供异步消息传递服务,确保消息的可靠传输。 4. **交易中间件**:如...