hello.hessian.MyCar.java
package hessian.pojo; import java.io.Serializable; public class MyCar implements Serializable { private static final long serialVersionUID = 4736905401908455439L; private String carName; private String carModel; public String getCarName() { return carName; } public String getCarModel() { return carModel; } public void setCarName(String pCarName) { carName = pCarName; } public void setCarModel(String pCarModel) { carModel = pCarModel; } @Override public String toString() { return "my car name:[" + this.carName + "] model:[" + this.carModel + "]."; } }
hessian.service.HelloHessian.java
package hessian.service; import hessian.pojo.MyCar; import java.util.List; import java.util.Map; public interface HelloHessian { String sayHello(); MyCar getMyCar(); List myLoveFruit(); Map myBabays(); }
hessian.service.impl.HelloHessianImpl.java
package hessian.service.impl; import com.caucho.hessian.server.HessianServlet; import hessian.pojo.MyCar; import hessian.service.HelloHessian; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class HelloHessianImpl extends HessianServlet implements HelloHessian { public MyCar getMyCar() { MyCar car = new MyCar(); car.setCarName("阿斯顿·马丁"); car.setCarModel("One-77"); return car; } public Map myBabays() { Map map = new HashMap(); map.put("son", "孙吴空"); map.put("daughter", "孙小美"); return map; } public List myLoveFruit() { List list = new ArrayList(); list.add("apple"); list.add("kiwi"); list.add("orange"); return list; } public String sayHello() { return "welcom to Hessian"; } }
hessian.Main.java
package hessian; import com.caucho.hessian.client.HessianProxyFactory; import hessian.service.HelloHessian; public class Main { public static String url = "http://localhost:8888/InfoWeb/Hello"; public static void main(String[] args)throws Exception{ HessianProxyFactory factory = new HessianProxyFactory(); HelloHessian helloHession = (HelloHessian) factory.create(HelloHessian.class, url); System.out.println(helloHession.sayHello()); System.out.println(helloHession.getMyCar()); System.out.println(helloHession.myBabays()); System.out.println(helloHession.myLoveFruit()); } }
web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>home-class</param-name> <param-value>hession.service.impl.HelloHessianImpl</param-value> </init-param> <init-param> <param-name>home-api</param-name> <param-value>hession.service.HelloHessian</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping> </web-app>
pom.xml
<dependencies> <!--=========================== hession =========================== --> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.33</version> </dependency> <!--=========================== Servlet Api ===========================--> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> </dependencies>
相关推荐
在“hessian简单实例”中,我们有两个关键部分:`hessian-server`和`hessian-client`。`hessian-server`是服务端程序,它实现了我们需要暴露给客户端调用的方法;而`hessian-client`则是客户端程序,它负责连接到...
接下来,我们通过一个简单的实例来加深理解。假设我们有一个`Person`类,包含`name`和`age`两个字段。我们可以创建一个服务,该服务接受一个`Person`对象并返回其年龄。服务端使用Hessian序列化`Person`对象,客户端...
通过实践这些例子,你可以更好地理解Hessian的工作机制,以及如何在实际项目中应用它。同时,这也是一个很好的起点,帮助你进一步探索如何优化Hessian服务的性能,或者与其他技术(如负载均衡、安全控制等)进行集成...
在"Spring MVC Hessian Maven简单实例"中,我们将探讨如何将这三个技术结合在一起,以实现一个远程服务调用的解决方案。 首先,我们需要创建一个Maven项目,配置pom.xml文件来管理Spring MVC、Hessian和其它相关...
现在,让我们通过一个简单的Java示例来了解如何使用Hessian。在这个例子中,我们将创建一个服务器端服务并暴露一个方法,然后在客户端调用这个远程方法。 1. 首先,我们需要在服务器端定义一个服务接口和实现类。...
Hessian是由Caucho Technology开发的一种二进制RPC(Remote Procedure Call)协议,它允许Java对象以高效的二进制格式在网络间进行传输,使得远程调用如同本地调用一样简单。在这个工程实例中,我们将探讨如何在...
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。参考文档地址...
这里我们提供了一个使用Hessian 4.0.37的简单实例,包括服务器端和客户端的创建。 #### 服务器端(Server) 首先,定义一个服务接口和其实现: ```java public interface HelloWorldService { String sayHello...
在这个简单的demo中,我们将探讨Hessian的核心概念,以及如何在实际应用中使用它。 首先,我们需要理解什么是数据序列化。数据序列化是将对象的状态转化为可存储或传输的形式的过程。在Hessian中,这个过程使得Java...
Hessian提供了一种简单、快速的方式将Java对象序列化为字节流,然后在服务端和客户端之间进行传输。这种方式比XML或JSON等文本格式更加高效,因为它的数据体积小,解析速度快。 ### Hessian的基本原理 Hessian协议...
总结一下,Hessian入门小例子通过创建一个简单的Hessian服务和客户端,展示了如何利用Hessian协议进行远程调用。通过这个例子,开发者可以学习如何在Java项目中集成Hessian,提升服务间的通信效率,同时减少网络开销...
Hessian的目标是提供一种快速、简单的方式来进行跨网络的对象方法调用,使得分布式系统开发更为便捷。在这个“Hessian实例”中,我们可以找到Hessian在实际应用中的具体示例和相关库文件。 标题提及的“Hessian实例...
在Hessian的例子中,我们通常会看到以下关键知识点: 1. **序列化与反序列化**:Hessian协议能够将Java对象序列化为二进制格式,然后在网络上传输,到达目的地后进行反序列化恢复成原来的对象。这种方式相比XML或...
以下是一个简单的例子: ```csharp // 服务端接口 [ServiceContract] public interface IMyService { [OperationContract] string HelloWorld(); } // 服务端实现 public class MyServiceImpl : IMyService { ...
在例子中,通过`factory.create(IHessian.class, url)`创建了`IHessian`接口的代理实例,并将服务URL传入。 - `HessianTest`的`main`方法展示了如何使用代理调用远程服务。`url`的格式是`...
这个“hessian通讯的安卓实现的简单DEMO”是一个示例项目,用于展示如何在Android平台上利用Hessian进行通信。下面将详细介绍Hessian在Android中的应用以及相关知识点。 1. **Hessian协议**:Hessian由Caucho公司...
在这个实例中,我们学习了如何利用Spring的自动装配和Hessian的高效通讯能力,实现了一个简单的Web Service。这种方式适用于需要快速、轻量级交互的场景,特别适合于内部服务之间的通信,或者对性能有较高要求的应用...
在Spring中集成Hessian,可以方便地实现服务的发布和消费,使得系统间的通信变得更加简单。 1. **配置Hessian服务端** - 首先,我们需要创建一个服务接口和服务实现类。 - 在Spring的配置文件中,使用`<bean>`...