`

spring整合hessian进行远程通讯

阅读更多

 由于日志没有图片功能,可以访问内部论坛:
 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,下面通过一个实例来展示hessianspring整合使用。

 

一.首先介绍一下此实例的环境

 

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案例

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Hessian则是一种高效的RPC(远程过程调用)协议,它允许服务提供者和消费者之间进行二进制远程方法调用。本案例主要关注如何将Spring与Hessian进行...

    Spring整合Hessian访问远程服务

    总的来说,Spring整合Hessian访问远程服务是Java开发中的常见实践,它利用Spring的灵活性和Hessian的高效性,简化了服务的发布和调用流程,是构建分布式系统时的一个有效工具。通过学习和掌握这一技术,开发者可以更...

    Spring中集成Hessian的问题

    在Spring框架中集成Hessian是为了实现远程方法调用(Remote Method Invocation, RMI),这是一种轻量级的序列化协议,可以高效地传输Java对象。Hessian使得服务提供者和服务消费者之间能够通过网络进行快速的数据...

    Spring配置hessian远程服务

    使用eclipse maven工程搭建hessian远程服务demo 分服务端的整合和客户端 建议阅读相关博客http://blog.csdn.net/heisemuyangquan/article/details/79460528

    spring aop hessian 基础demo 部署即可运行

    在Spring中,Hessian通常用来实现远程服务调用。通过AOP,我们可以对Hessian服务进行拦截,添加如日志、性能监控等额外功能。以下是一个基本的步骤: 1. **创建Hessian服务**:首先,我们需要定义一个服务接口和其...

    spring集成Hessian插件配置改成自动注入。

    总之,Spring集成Hessian插件并改用自动注入可以极大简化服务的管理和调用。通过合理的配置和注解,我们可以实现服务的自动发现和依赖注入,提升代码的灵活性和可维护性。同时,理解并熟练掌握这一技术对于提升开发...

    struts2+ibatis+spring+Hessian 整合项目

    struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...

    spring+hessian+maven整合.zip

    在Spring整合中,我们可以使用HessianExporter来暴露服务,HessianProxyFactoryBean来创建服务客户端。 3. **Maven**:Maven的pom.xml文件定义了项目依赖、构建过程和插件设置。在这个项目中,它会管理Spring、...

    基于spring+hessian框架的webservice实例

    在这个实例中,我们学习了如何利用Spring的自动装配和Hessian的高效通讯能力,实现了一个简单的Web Service。这种方式适用于需要快速、轻量级交互的场景,特别适合于内部服务之间的通信,或者对性能有较高要求的应用...

    Hessian的Spring配置

    在Spring框架中集成Hessian,我们需要进行以下步骤: 1. **创建服务接口和服务实现**: 首先,你需要定义一个服务接口,然后实现这个接口。例如,我们有一个`HelloHessianService`接口,包含一个`sayHello`方法。 `...

    Hessian与Spring整合需要jar包

    在将Hessian与Spring进行整合时,我们需要确保引入了正确的jar包。这些jar包通常包括以下几个核心组件: 1. **Hessian库**:这是实现Hessian RPC的基础,包含了序列化和反序列化的类以及远程调用的相关接口。主要的...

    hessian与spring整合的jar包

    当我们将Hessian与Spring进行整合时,主要目标是利用Spring的依赖注入(Dependency Injection, DI)和组件管理能力来简化Hessian服务的创建和管理。以下是一些关键知识点: 1. **Spring核心模块**(spring-core-...

    Hessian与spring整合

    综上所述,"Hessian与Spring整合"的核心是利用Spring的管理能力,结合Hessian的高效远程调用特性,构建可扩展、易于管理和维护的分布式服务系统。通过这种方式,开发者可以专注于业务逻辑,而无需过于关注底层通信...

    Hessian和Spring集成示例

    在IT行业中,Hessian和Spring的集成是服务端开发中常用的一种技术,它允许我们将Java对象作为远程服务进行调用,极大地提高了开发效率和系统的可扩展性。下面将详细讲解Hessian与Spring集成的关键知识点。 首先,...

    spring、hessian通过tomcat的简单环境应用源代码

    Hessian则是一种轻量级的RPC(远程过程调用)协议,它能够高效地进行二进制序列化,使得远程服务调用变得更加便捷。 【描述】中提到的"里面有具体的实例程序",意味着这个压缩包可能包含了一个完整的示例项目,该...

    在 Spring Web Flow 项目中应用 Hessian 服务

    要在Spring Web Flow项目中集成Hessian服务,我们需要以下步骤: 1. **配置Hessian服务**:在服务器端,我们需要创建一个实现了所需接口的业务服务类,并在Spring配置文件中声明它为Hessian服务,使用`&lt;bean&gt;`标签...

    flex_spring_hessian框架(Java部分)

    在Java开发中,Flex-Spring-Hessian框架常常被用于构建富客户端应用,它整合了Adobe Flex前端与Spring后端服务,利用Hessian协议进行二进制RPC通信,提高了数据传输效率。本篇文章将围绕这三个关键组件,深入探讨...

    spring mvc hessian maven简单实例

    这个例子展示了如何在Spring MVC应用中集成Hessian,以及如何使用Maven管理依赖。实际开发中,还需要考虑错误处理、安全性、性能优化等方面的问题。通过这种方式,我们可以利用Hessian实现高效的远程服务调用,同时...

Global site tag (gtag.js) - Google Analytics