本文讨论的内容:
[color=blue][size=medium][list]
[*]1、Hessian比较RMI
[*]2、Hessian的简单实现
[*]3、Hessian的Spring配置
[/list][/size][/color]
[color=red]一、Hessian比较RMI[/color]
1、相比与RMI,Hessian优势是很大的,实现方式更容易,更轻巧。不过必需实现序列化。
2、Hessian不再是单单基于JAVA的实现了。
3、Hessian是基于web开发的。
[color=red]二、Hessian的简单实现[/color]
这里不想多说什么了,因为在[url]http://hessian.caucho.com/[/url]上我们可以找到相当清楚的例子。
[color=red]三、Hessian的Spring配置[/color]
[color=blue]1、服务器端配置[/color]
[color=red]首先是web.xml的配置[/color]
第一段配置的一个servlet指通过访问这个servlet来得到远程调用的对象代理。
第二段配置是在启动时扫描Spring的配置文件。文件中包含要被远程调用的对象和相关对象。
[color=red]然后是remoting-beans.xml的配置[/color]
第一个bean是将被远程调用的类
第二个bean是把将被远程调用的对象导出的类
[color=red]最后是java代码的编写。逻辑就简单的多了[/color]
这里就不贴代码了,后面会以附件的形式给出 。
[color=blue]1、客户端端配置[/color]
[color=red]首先是Spring配置文件beans.xml[/color]
[color=red]然后是java代码的编写[/color]
同样以附件的形式上传
[color=blue][size=medium][list]
[*]1、Hessian比较RMI
[*]2、Hessian的简单实现
[*]3、Hessian的Spring配置
[/list][/size][/color]
[color=red]一、Hessian比较RMI[/color]
1、相比与RMI,Hessian优势是很大的,实现方式更容易,更轻巧。不过必需实现序列化。
2、Hessian不再是单单基于JAVA的实现了。
3、Hessian是基于web开发的。
[color=red]二、Hessian的简单实现[/color]
这里不想多说什么了,因为在[url]http://hessian.caucho.com/[/url]上我们可以找到相当清楚的例子。
[color=red]三、Hessian的Spring配置[/color]
[color=blue]1、服务器端配置[/color]
[color=red]首先是web.xml的配置[/color]
<!-- 访问的就是这个servlet -->
<servlet>
<servlet-name>messageExporter</servlet-name>
<servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>messageExporter</servlet-name>
<url-pattern>/remoting/MessageService</url-pattern>
</servlet-mapping>
<!-- 让web应用启动时加载spring bean 容器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/remoting-beans.xml</param-value>
</context-param>
第一段配置的一个servlet指通过访问这个servlet来得到远程调用的对象代理。
第二段配置是在启动时扫描Spring的配置文件。文件中包含要被远程调用的对象和相关对象。
[color=red]然后是remoting-beans.xml的配置[/color]
<bean id="messageService" class="cn.netjava.ml.spring.hessian.MessageServiceImp">
<!-- any additional properties, maybe a DAO? -->
</bean>
<bean name="messageExporter"
class="org.springframework.remoting.caucho.HessianServiceExporter">
<property name="service" ref="messageService" />
<property name="serviceInterface" value="cn.netjava.ml.spring.hessian.MessageService" />
</bean>
第一个bean是将被远程调用的类
第二个bean是把将被远程调用的对象导出的类
[color=red]最后是java代码的编写。逻辑就简单的多了[/color]
这里就不贴代码了,后面会以附件的形式给出 。
[color=blue]1、客户端端配置[/color]
[color=red]首先是Spring配置文件beans.xml[/color]
<bean class="cn.netjava.ml.spring.hessian.ClientStart">
<property name="messageService" ref="messageService" />
</bean>
<bean id="messageService"
class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl"
value="http://localhost:8080/HelloHessianService/remoting/MessageService" />
<property name="serviceInterface" value="cn.netjava.ml.spring.hessian.MessageService" />
</bean>
[color=red]然后是java代码的编写[/color]
同样以附件的形式上传