本文讨论的内容:
- 1、Hessian比较RMI
- 2、Hessian的简单实现
- 3、Hessian的Spring配置
一、Hessian比较RMI
1、相比与RMI,Hessian优势是很大的,实现方式更容易,更轻巧。不过必需实现序列化。
2、Hessian不再是单单基于JAVA的实现了。
3、Hessian是基于web开发的。
二、Hessian的简单实现
这里不想多说什么了,因为在
http://hessian.caucho.com/上我们可以找到相当清楚的例子。
三、Hessian的Spring配置
1、服务器端配置
首先是web.xml的配置
<!-- 访问的就是这个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的配置文件。文件中包含要被远程调用的对象和相关对象。
然后是remoting-beans.xml的配置
<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是把将被远程调用的对象导出的类
最后是java代码的编写。逻辑就简单的多了
这里就不贴代码了,后面会以附件的形式给出 。
1、客户端端配置
首先是Spring配置文件beans.xml
<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>
然后是java代码的编写
同样以附件的形式上传
分享到:
相关推荐
使用eclipse maven工程搭建hessian远程服务demo 分服务端的整合和客户端 建议阅读相关博客http://blog.csdn.net/heisemuyangquan/article/details/79460528
远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时...这个文件可以是hessian在spring项目和web项目的简单配置
NULL 博文链接:https://xiaofancn.iteye.com/blog/2356498
引入该工程,在接口上添加@hessianService注解,在client定义url,在client端的xml里面配置hessianClientBuilder,在server里面配置hessianServerBuilder,并实例化接口。在client端里面使用接口并注入即可。
一个Spring整合Hessian的Demo,同时包含Hessian服务端与客户端。是一个Maven工程,IDE使用的Eclipse,运行前需要安装Eclipse的Maven插件。可以结合文章一起学习,地址是...
Hessian RPC-RMI技术 整合Structs Spring Hibernate Ibatis 包含Hessian配置说明、服务器Server Demo、客户端Client Demo.
SpringMVC整合Hessian的简单案例,使用Maven管理,idea工具开发,案例中配置了两个接口的服务发布
NULL 博文链接:https://fhqllt.iteye.com/blog/776148
引入该工程,在接口上添加@hessianService注解,在client定义url,在client端的xml里面配置hessianClientBuilder,在server里面配置hessianServerBuilder,并实例化接口。在client端里面使用接口并注入即可。
如果用tomcat部署服务器,需要hessian的认证,请在E:\tomcat\apache-tomcat-7.0.69\conf\tomcat-users.xml下面配置信息:如下 <role rolename="Hessian"/> 账号" password="密码" roles="Hessian"/>
(2) spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,...
Spring + Mybatis + Hessian 亲自手写,附带测试用例,有问题随时提问。操作流程,自己导入sql,并修改数据库配置,配置Tomcat后启动服务,然后启动Tomcat, 最后测试用例。 测试用例步骤:步骤1.Run HessianTest. ...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 ...
因此,就算你只是为了远程访问(例如,暴露Hessian或者 HTTP调用服务)而使用DispatcherServlet,你也得将'spring-webmvc.jar'(或者 'spring-webmvc-portlet/struts.jar')放到'spring.jar'旁边去。 Spring 2.0的 '...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点...
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...
在Spring+iabtis框架中,增加hessian接口,要实现以下几点: 1.绕过系统本身的认证,拦截器直接将该实现方法的servlet直接调用,需要重写拦截器。 2.由于绕过了spring和Struts,请求没有经过封装的事物管理器实例化,...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点...