- 浏览: 1037548 次
- 性别:
- 来自: 郑州
-
文章分类
- 全部博客 (605)
- 数据挖掘 (22)
- spring (40)
- 工具使用 (39)
- java (137)
- JavaScript (40)
- webwork (12)
- web (120)
- 资源 (7)
- SSH (5)
- oracle (20)
- J2ME (1)
- 环境配置 (37)
- 项目管理 (29)
- mysql (14)
- struts (4)
- 项目总结 (27)
- ibatis学习 (33)
- 学习计划 (2)
- 缓存 (7)
- 重构 (3)
- Android (1)
- jquery (12)
- UML (3)
- 用户体验 (4)
- 习惯 (7)
- sakai (1)
- urlrewrite (4)
- rss (5)
- C plus plus (5)
- 算法 (5)
- 海量数据处理 (7)
- office(word、excel) (1)
- 面试题 (3)
- solr (8)
- 大数据 (2)
最新评论
-
hujin19861102:
截图看不见,最后一个webwrok的配置看不见
Ext+Webwork+Json 实现分页表格查询效果 -
蜗牛笔:
弱弱的问一句,要是分出来的词在词典中没有,那么两部分的pos- ...
ICTCLAS 中科院分词系统 -
weipeng1986:
授人予鱼不如授人予鱼,我想问你的是你是怎么总结的。比如第四种情 ...
JAVA中字符串连接效率的测试 -
xiaoqiang2008:
执行两次的原因是什么,好像楼主没弄清楚啊!是不是在web.xm ...
关于Spring中用quartz定时器在定时到达时同时执行两次的问题 -
Kent_Mu:
...
ibatis-dynamic的用法
由于日志没有图片功能,可以访问内部论坛:
host配置: 192.168.5.245 forum.xxt.cn
文章连接: http://forum.xxt.cn/posts/list/0/276.page
spring 整合hessian进行远程通讯
Hessian是使用HTTP将对象以中性的二进制消息进行传送,而不像RMI使用Java的序列化格式,由于二进制消息是中性的,因此不受限于某种程序语言所实现的客户端或服务器端,二进制数据在传输是所需要的带宽较小是其优点。
由于Hessian是通过HTTP传送的,所在使用时需要WEB框架,在使用spring 时,即就是需要使用DispatcherServlet,下面通过一个实例来展示hessian与spring整合使用。
一.首先介绍一下此实例的环境
1、 tocmat: tomcat5.5
2、 java: jdk1.5.0_12
3、 eclipse: eclipse 3.2.0
4、 spring: 2.55
二.服务器端程序
1. 先看程序的目录结构:(如图1)
2. 新建tomcat工程:
3. 添加jar包,路径构建:
备注:spring的版本,请从下载的官网上下载。
spring.jar : spring-framework-2.5.5\dist
hessian.jar : spring-framework-2.5.5\lib\caucho
4. 文件详单:
(1) cn.xxt.service.IuserService.java
package cn.xxt.service;
import java.util.List;
/**
* hessian 服务接口,取出用户姓名接口
* @author zhaoguoli
* @version V1.0 2010-09-30
*/
public interface IUserService {
public List getUsernames();
}
(2) cn.xxt.service.impl.UserService.java
package cn.xxt.service.impl;
import java.util.ArrayList;
import java.util.List;
import cn.xxt.service.IUserService;
/**
* hessian 服务实现,取出用户姓名列表
* @author zhaoguoli
* @version V1.0 2010-09-30
*/
public class UserService implements IUserService {
public List getUsernames() {
List<String> usernames = new ArrayList<String>();
usernames.add("zhaoguoli");
usernames.add("wanglei");
usernames.add("yinzhuangzhuang");
return usernames;
}
}
(3) WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>remoting</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
(4) WEB-INF/applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="userservicetarget" class="cn.xxt.service.impl.UserService"/>
</beans>
(5) WEB-INF/ remoting-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean name="/Userservice-hessina" class="org.springframework.remoting.caucho.HessianServiceExporter">
<property name="service">
<ref bean="userservicetarget"/>
</property>
<property name="serviceInterface">
<value>cn.xxt.service.IUserService</value>
</property>
</bean>
</beans>
至此,服务器代码已经完毕。
三. 客户端代码
1. 先查看程序的目录结构:(如图2)
2. 新建java工程
3. 添加jar包,路径构建
4. 文件详单
(6) cn.xxt.service.IuserService.java
package cn.xxt.service;
import java.util.List;
/**
* hessian 服务接口,取出用户姓名接口
* @author zhaoguoli
* @version V1.0 2010-09-30
*/
public interface IUserService {
public List getUsernames();
}
(7) cn.xxt.client.HessinaClient.java
package cn.xxt.client;
import java.util.List;
import cn.xxt.service.IUserService;
/**
* hessian 测试 客户端
* @author zhaoguoli
* @version V1.0 2010-09-30
*/
public class HessinaClient {
private IUserService userservice;
public IUserService getUserservice() {
return userservice;
}
public void setUserservice(IUserService userservice) {
this.userservice = userservice;
}
public List getUsernames() {
return this.userservice.getUsernames();
}
}
(8) cn.xxt.client.HessianTest.java
package cn.xxt.client;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* hessian 客户端 调用
* @author zhaoguoli
* @version V1.0 2010-09-30
*/
public class HessianTest {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
HessinaClient hessina = (HessinaClient) ctx.getBean("hessinaclient");
System.out.println("hessinaclient:" + hessina.getUsernames());
}
}
(9) src/applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location"><value>client.properties</value></property>
</bean>
<bean id="hessinaclient" class="cn.xxt.client.HessinaClient">
<property name="userservice">
<ref
- spring整合hessian进行远程通讯.rar (45.8 KB)
- 下载次数: 38
发表评论
-
spring 测试框架与维护项目结合问题
2011-11-02 02:18 1152之前项目中一直用 junit进行单元测试,使用的版本一直是ju ... -
数据日志记录讨论
2011-10-26 18:51 934详情见附件中的PPT -
spring+ibatis注解方式注入
2011-10-15 17:24 1007http://www.cnblogs.com/archie20 ... -
spring 注解 简化log4j配置
2011-10-09 23:40 924http://macrochen.iteye.com/blog ... -
spring 2.5 TestContext 测试框架
2011-10-09 19:18 6281大多同事都已经养成用j ... -
spring2.5 引入资源文件的方式
2011-10-09 16:55 1060以前项目中引入 数据库 连接相关的字符串 都是使用 &l ... -
Spring 配置中的 default-lazy-init="false"
2011-09-26 18:03 1835Spring 配置中的 default-lazy-init=& ... -
webwork+spring+ibatis注解培训文档
2011-08-15 17:26 1378今天整理了 spring 注解的使用,主要是结合公司 ... -
spring包详解 (转)
2010-11-18 17:25 868spring.jar是包含有完 ... -
远程调用 - spring+rmi
2010-09-26 22:29 1211Spring提供类用于集成各种远程访问技术。这种对远程访问的支 ... -
事务处理spring
2010-03-24 22:33 992http://www.ibm.com/developerwor ... -
在并发情况下struts2与spring 组合需要注意的问题
2010-03-24 19:53 2082在并发情况下struts2与spring 组合需要注意的问题 ... -
Spring2.0框架的事务处理
2010-03-11 22:04 980http://www.iteye.com/topic/328 ... -
使用import简化spring的配置文件
2010-01-28 18:13 1117对于spring配置文件的编 ... -
Spring 中的数据源 转载
2010-01-25 18:17 1192http://www.blogjava.net/masen ... -
Spring事务配置的五种方式(转)
2010-01-25 17:32 808转载自: http://www.blogjava.net ... -
spring 2.5 事务属性
2010-01-25 15:59 1586spring事务的属性 转载自http://zhangli-l ... -
spring 2.5 事务管理
2010-01-25 15:57 2014spring2.5的事物管理,分为两种方式,一是基于注解方式的 ... -
事务传播属性(转)
2010-01-25 15:53 1172事务的传播行为和隔离级别[transaction behavi ... -
spring aop execution pointcut 表达式
2010-01-25 13:02 2302Spring AOP 用户可能会经常使用 executio ...
相关推荐
NULL 博文链接:https://elim.iteye.com/blog/1869488
使用eclipse maven工程搭建hessian远程服务demo 分服务端的整合和客户端 建议阅读相关博客http://blog.csdn.net/heisemuyangquan/article/details/79460528
struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...
Hessian则是一种轻量级的RPC(远程过程调用)协议,它能够高效地进行二进制序列化,使得远程服务调用变得更加便捷。 【描述】中提到的"里面有具体的实例程序",意味着这个压缩包可能包含了一个完整的示例项目,该...
Spring Boot 整合 Hessian 的示例 在本文中,我们将通过实例代码来介绍如何将 Hessian 集成到 Spring Boot 应用程序中。Hessian 是一个基于 RPC(Remote Procedure Call,远程过程调用)的轻量级框架,它提供了一个...
二、Hessian与Spring整合 Hessian与Spring的整合可以帮助我们更好地管理和控制远程服务。Spring作为一个强大的企业级应用框架,可以提供依赖注入、事务管理等特性。在整合过程中,我们可以在Spring配置文件中声明...
Hessian是一种基于二进制协议的轻量级远程方法调用(RMI)技术,由Caucho Technology开发。它的设计目标是提供一种高效、简洁的方式来传输...在实际项目中,根据需求,还可以结合Spring框架等进行更高级的集成和配置。
在Spring中集成Hessian,可以方便地实现服务的发布和消费,使得系统间的通信变得更加简单。 1. **配置Hessian服务端** - 首先,我们需要创建一个服务接口和服务实现类。 - 在Spring的配置文件中,使用`<bean>`...
Hessian是一种二进制协议,它允许在不同的编程语言之间进行高效的远程方法调用(RPC)。这个"PHP与Java通信Demo源码"是基于Hessian协议实现的一个示例,展示了如何在PHP和Java之间建立通信。现在,我们将深入探讨...
Spring为各种远程访问技术提供集成工具类。Spring远程访问通过使用普通POJOs,能更容易的开发远程访问服务。目前,Spring远程访问的主要技术如下: 1. 远程调用RMI(Remote Method Invocation): 通过使用 ...
在IT行业中,Hessian是一种轻量...通过这个简单的示例,我们可以看到如何在Java应用中集成和使用Hessian进行远程服务调用。在实际项目中,Hessian还可以与其他技术结合,如Spring框架,以实现更复杂的分布式系统架构。
Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI(Remote Method Invocation,远程方法调用)的功能。采用的是二进制RPC(Remote Procedure Call Protocol,远程过程调用协议)协议,因为采用...
与Spring整合的方式相对复杂,需要将Hessian服务注册到Spring容器中,并通过Spring的DispatcherServlet进行请求调度。具体的配置和实现细节未在描述中给出,但通常涉及Spring的bean配置、服务接口的实现以及客户端的...
本示例是hessian与spring整合的,客户端与服务端相互调用的最完整例子。
在Flex应用程序中,我们通常利用远程对象(RemoteObject)或Web服务(如Hessian)来调用Spring管理的Bean中的方法和访问其属性,从而为用户提供动态、丰富的用户界面。 首先,让我们深入理解Flex与Spring的集成过程...
Hessian是一种轻量级的二进制Web服务协议,它由Caucho Technology开发,用于提高远程调用的效率和速度。Hessian 4.0.7是该协议的一个版本,提供了一个Java库,允许开发者在Java应用之间进行高效的数据交换。这个版本...
(9) spring-remoting.jar 这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。 (10) spring-support.jar 这个jar文件包含支持缓存Cache(ehcache)、JCA、...
1. **XFire**:XFire是早期的SOAP Web服务实现,Spring对其进行了封装,提供了一种基于XML的远程调用机制。XFire支持WS-I基本配置,使得服务能与多种平台和语言无缝交互。Spring通过Aegis绑定,将Java对象直接映射到...