`
yaolinnan
  • 浏览: 59017 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

spring与hessian的使用

 
阅读更多

一、简介

在平时开发中,我们经常会使用到远程访问技术,而spring为各种远程访问技术的集合提供了整合类,使得实现这个技术变得相当简单。目前spring支持以下几种远程访问技术:

1、远程方法调用(RMI)

2、spring的http调用器

3、hessian

4、burlap

 

其中hessian采用基于http的二进制远程协议,比webservice简单,官网:http://www.caucho.com/hessian

Hessian 通过Servlet提供远程服务。需要将匹配某个模式的请求映射到Hessian服务。Spring的DispatcherServlet 可以完成该功能,DispatcherServlet可将匹配模式的请求转发到Hessian服务。Hessian的server端提供一个 servlet基类, 用来处理发送的请求,而Hessian的这个远程过程调用,完全使用动态代理来实现的,,推荐采用面向接口编程,因此,Hessian服务建议通过接口暴 露。
Hessian处理过程示意图:
客户端——>序列化写到输出流——>远程方法(服务器端)——>序列化写到输出流 ——>客户端读取输入流——>输出结果

 

 

二、使用

1.导入相应的包(大致见图片附件):

 

2.编写一个简单的接口

package com.test.hessian.service;

public interface Hello {

	public String sayHello();
}

 

3.实现这个接口

package com.test.hessian.service.impl;

import com.caucho.hessian.server.HessianServlet;
import com.test.hessian.service.Hello;

public class HelloImpl extends HessianServlet implements Hello {

	private static final long serialVersionUID = 5101571562928514433L;

	@Override
	public String sayHello() {
		return "hello";
	}

}

 

4.服务器端暴露接口,编写remoting-servlet.xml(默认保存在WEB-INF下)

 <bean id="hello" class="com.test.hessian.service.impl.HelloImpl"/>
    <!--  使用HessianServiceExporter 将普通bean导出成Hessian服务-->
    <bean name="/HessianRemoting" class="org.springframework.remoting.caucho.HessianServiceExporter">
           <!--  需要导出的目标bean-->
           <property name="service" ref="hello"/>
           <!--  Hessian服务的接口-->
           <property name="serviceInterface" value="com.test.hessian.service.Hello"/>
</bean> 

 

5.配置客户端连接服务

<bean id="myServiceClient" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl">
<!-- 路径格式为http://服务器ip地址/工程名/web.xml配置的url-pattern/服务端配置的hessian服务name -->
<value>http://127.0.0.1:8080/xxx/remoting/HessianRemoting</value>
</property>
<property name="serviceInterface">
<value>com.test.hessian.service.Hello</value>
</property>
</bean> 

 

6.web.xml

<context-param>  
  <param-name>contextConfigLocation</param-name>  
  <param-value>classpath*:spring-*.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> 
</web-app>

 

7.客户端调用

 

ApplicationContext context = new ClassPathXmlApplicationContext("remoting-client.xml"); 
		Hello hello=(Hello) context.getBean("myServiceClient");
		hello.sayHello();

 

 

精彩科技工作室
  • 大小: 20.3 KB
分享到:
评论

相关推荐

    Spring集成Hessian案例

    本案例主要关注如何将Spring与Hessian进行集成,实现远程服务调用,从而提高系统的分布式能力。 首先,我们要理解Spring的核心概念。Spring通过依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-...

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

    Spring AOP和Hessian是两个在Java开发中广泛使用的技术,尤其在分布式系统和服务治理中。下面将详细解释这两个概念以及它们如何结合使用。 **Spring AOP(面向切面编程)** Spring AOP是Spring框架的一个重要组成...

    Spring中集成Hessian的问题

    **Spring与Hessian的集成** 在Spring中集成Hessian,通常需要以下步骤: 1. **创建服务接口和服务实现:** 首先,你需要定义一个Java接口,其中包含你希望暴露给客户端的方法。然后实现这个接口,提供实际的业务...

    spring 集成 hessian例子

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。参考文档地址...

    Spring + Hessian + Spring MVC(包括Server和Client).zip

    1.名称:Spring + Hessian + Spring MVC(包括Server和Client).zip 2.来源:自己实现 3.备注:项目有两个系统,包括Server端和Client端,项目已经跑通,可以实现。 4.注意:client中pom.xml里最后的一个jar包,需要...

    Hessian的Spring配置

    2. **配置Hessian服务**: 在Spring的配置文件中,使用`&lt;bean&gt;`标签定义HessianExporter,暴露服务接口。 ```xml &lt;bean id="helloHessianExporter" class="org.springframework.remoting.caucho.HessianExporter"&gt;...

    spring整合hessian进行远程通讯

    标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...

    基于spring+hessian框架的webservice实例

    Spring的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),它还支持数据库事务管理、JMS、JMX等功能,并且可以与其他Java EE技术如JPA、JSF等无缝集成。...

    spring+hessian+maven整合.zip

    5. **服务发布与消费**:在Spring配置中,我们需要定义服务接口和实现,并使用Hessian的相关注解或配置来暴露服务。在客户端,通过Maven引入依赖,使用HessianProxyFactoryBean创建服务代理,即可进行远程调用。 6....

    Spring配置hessian远程服务

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

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

    【标题】"spring、hessian通过tomcat的简单环境应用源代码"涉及到的是在Java Web开发中使用Spring框架和Hessian服务序列化技术在Tomcat服务器上的集成与应用。Spring是一个广泛使用的开源Java应用程序框架,它提供了...

    spring mvc hessian maven简单实例

    Spring MVC 是一个强大的Java Web应用程序开发框架,它简化了处理HTTP请求和响应的过程...通过Spring MVC处理HTTP请求,使用Hessian进行高效的远程方法调用,以及通过Maven管理项目依赖,使得开发过程更加便捷和高效。

    Hessian与Spring整合需要jar包

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

    Spring整合Hessian访问远程服务

    本篇文章将深入探讨如何将Spring与Hessian整合,以便在分布式系统中轻松实现远程服务调用。 首先,让我们理解Spring整合Hessian的基本原理。Spring通过其强大的IoC(Inversion of Control)容器管理服务和客户端,...

    spring hessian的使用

    在Spring中使用Hessian主要涉及以下几个关键点: 1. **服务端配置**: - 首先,你需要创建一个服务接口和服务实现类。例如,有一个`HelloService`接口和对应的`HelloServiceImpl`实现类。 - 接下来,在Spring的...

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

    综上所述,将Hessian服务应用于Spring Web Flow项目,能够有效提升前端与后端之间的通信效率,同时利用SWF的强大流程管理能力,为用户提供顺畅的交互体验。然而,这也需要开发者对Spring、Spring Web Flow以及...

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

    这篇博客文章可能详细介绍了如何将Spring与Hessian插件结合,并将原本的手动配置改为自动注入,从而简化了项目的配置和管理。 首先,我们需要理解Spring的自动注入机制。Spring依赖注入(Dependency Injection, DI...

    hessian与spring整合的jar包

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

    Spring整合Hessian(Maven Web工程)

    一个Spring整合Hessian的Demo,同时包含Hessian服务端与客户端。是一个Maven工程,IDE使用的Eclipse,运行前需要安装Eclipse的Maven插件。可以结合文章一起学习,地址是...

Global site tag (gtag.js) - Google Analytics