1. web项目名: HessianWeb ,需要的jar包:hessian.jar
2. 服务端程序列表:
包名:com.hessian.lsh
接口:Ihessian.java
接口实现类: HessianImpl.java
配置文件:web.xml
3. 客户端程序列表
包名:com.hessian.lsh
客户端程序:HessianTest.java
4. 源码
1) Ihessian.java
package com.hessian.lsh;
public interface IHessian {
public String say(String msg);
}
2) HessianImpl.java
package com.hessian.lsh;
import com.caucho.hessian.server.HessianServlet;
public class HessianImpl extends HessianServlet implements IHessian {
private static final long serialVersionUID = 7619464791326509626L;
public String say(String msg) {
return "Hello " + msg;
}
}
3) 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">
<servlet>
<servlet-name>ihessian</servlet-name>
<servlet-class>
com.hessian.lsh.HessianImpl
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ihessian</servlet-name>
<url-pattern>/hessian/ihessian</url-pattern>
</servlet-mapping>
</web-app>
4) HessianTest.java
package com.hessian.lsh;
import java.net.MalformedURLException;
import com.caucho.hessian.client.HessianProxyFactory;
import com.hessian.lsh.IHessian;;
public class HessianTest {
public static void main(String[] args) {
String url = "http://localhost:8080/HessianWeb/hessian/ihessian";
HessianProxyFactory factory = new HessianProxyFactory();
IHessian h = null;
try {
h = (IHessian) factory.create(IHessian.class, url);
} catch (MalformedURLException e) {
System.out.println("occur exception: " + e);
}
System.out.println(h.say("MR liu"));
}
}
客户端说明String url = "http://localhost:8080/HessianWeb/hessian/ihessian";
Localhost为本机地址,8080为tomcat使用的端口,HessianWeb部署在tomcat中的项目名,/hessian/ihessian为在web.xml中定义的url-pattern
项目说明
将HessianWeb部署到tomcat,启动tomcat,启动成功后,运行HessianTest.java类,在调试窗口将看到以下信息
Hello MR liu
如果没有启动tomcat,而直接运行HessianTest.java类,将出现以下异常:
java.net.ConnectException: Connection refused: connect
解决方法,启动tomcat,在重新运行HessianTest.java类
如果tomcat启动了,运行HessianTest.java类,出现以下异常:
java.io.IOException: Server returned HTTP response code: 400 for URL:
说明在HessianTest.java类中
String url = "http://localhost:8080/HessianWeb/hessian/ihessian";这句有问题,检查端口是否正确,项目名是否正确。
分享到:
相关推荐
在"Hessian例子.rar"这个压缩包中,可能包含了实现Hessian协议的示例代码,包括服务端的实现、客户端的调用以及可能的测试案例。通过分析这些例子,开发者可以更好地理解和应用Hessian协议于实际项目中。
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。参考文档地址...
【标题】基于WebService的Hessian例子教程 在IT行业中,通信和数据交换是核心部分,尤其是在分布式系统中。WebService作为一种跨平台、跨语言的通信机制,广泛用于不同系统间的交互。而Hessian则是WebService的一种...
以下是对Hessian在上述例子中的详细说明: 1. **项目结构与依赖**: - 项目名为`HessianWeb`,它是一个基于Java的Web项目,依赖于`hessian.jar`库,该库包含了Hessian的相关实现。 2. **服务端配置**: - ...
NULL 博文链接:https://7wolfs.iteye.com/blog/916844
Hessian是一种二进制Web服务协议,由Caucho Technology公司开发,它的主要目标是提供高效、简洁的数据传输方式,特别适用于远程方法调用(RPC)场景。在Java和C++等语言中,Hessian提供了良好的跨语言支持,使得不同...
2. **Hessian例子**: 压缩包中的“hessian_例子”可能包含了一些基本的Hessian客户端和服务端的代码示例,这些示例可以帮助你理解如何在实际项目中使用Hessian进行服务调用。你可以通过运行这些例子来学习如何创建...
远程调用方法就是HttpInvoker:他也是将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的...试使用Http协议传输二进制流的,同时又具有Hessian、Burlap(传输xml文本)的优点。
hessian demo 例子 教程 看我blog http://blog.csdn.net/zfrong/archive/2009/12/29/5099222.aspx http://blog.csdn.net/zfrong/archive/2009/12/27/5083943.aspx
这个“Hessian入门小例子”是帮助开发者理解如何在实际项目中应用Hessian的一种方式。下面我们将深入探讨Hessian协议、它的特点、以及如何在Java环境中设置和使用Hessian服务和客户端。 首先,让我们了解Hessian的...
在IT行业中,Hessian是一种二进制序列化协议,它被广泛用于远程方法调用(RMI)和Web服务中,以提高数据传输效率。Hessian由Caucho Technology开发,其目标是提供轻量级、高效的通信方式,特别是在网络带宽有限的...
在IT行业中,Hessian是一种轻量级的二进制序列化协议,主要用于远程方法调用(RMI)和Web服务。Hessian由Caucho Technology开发,它的设计目标是提供比XML更快、更简洁的数据传输方式,从而提高网络通信效率。在Java...
以下是一个简单的例子: ```csharp // 服务端接口 [ServiceContract] public interface IMyService { [OperationContract] string HelloWorld(); } // 服务端实现 public class MyServiceImpl : IMyService { ...
这个小例子将带你了解如何在Java环境中实现Hessian服务的客户端和服务器端。让我们深入探讨Hessian的核心概念以及如何在实际项目中应用。 首先,Hessian的目标是提供一种简单、快速、跨语言的序列化和远程调用机制...
通过这些例子,开发者可以深入理解Hessian的使用方法。 总结,Hessian协议提供了一种高效、跨语言的RPC解决方案,尤其适合Java和Python之间的通信。通过使用Hessian,开发者可以轻松地构建分布式系统,实现服务之间...
在这个例子中,我们可能会看到以下步骤: 1. **设置环境**:确保你已经在项目中引入了Hessian的库,对于Java,这可能是通过Maven或Gradle添加依赖。对于C++,可能需要下载并编译Hessian库。 2. **创建服务端**:...
通过这些例子,开发者可以学习如何创建一个Hessian服务接口,定义服务方法,然后在客户端调用这些服务,实现远程调用的效果。 服务端的实现通常涉及到创建一个实现了特定业务逻辑的类,并将其暴露为Hessian服务。这...
此例子有两个工程,hessianServer(服务端工程),hessianClient(客户端工程),把 hessianServer工程 启动之后就可以通过 hessianClient 访问 服务端的服务了。
通过实践这些例子,你可以更好地理解Hessian的工作机制,以及如何在实际项目中应用它。同时,这也是一个很好的起点,帮助你进一步探索如何优化Hessian服务的性能,或者与其他技术(如负载均衡、安全控制等)进行集成...