Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
注意事项
在进行基于Hessian的项目开发时,应当注意以下几点:
▲JAVA服务器端必须具备以下几点:
·包含Hessian的jar包
·设计一个接口,用来给客户端
调用
·实现该接口的功能
·配置web.xml
,配好相应的servlet
·对象必须实现Serializable 接口
·对于复杂对象可以使用Map的方法传递
▲客户端必须具备以下几点:
·java客户端包含Hessian.jar的包。C#中引用hessianCSharp.dll
·具有和服务器端结构一样的接口。包括命名空间都最好一样
·利用HessianProxyFactory调用远程接口。
简单JAVA客户端例子:
服务器端
新建一个名EasyHession的webProject项目,将Hessian.jar放入web-inf
下的lib中
创建接口:
packageapp.demo;
public interfaceBasicAPI {
public void setGreeting(Stringgreeting);
public String hello();
public User getUser();
}
实现接口:
packageapp.demo;
publicclass BasicService implements BasicAPI {
privateString _greeting = "Hello, world";
public void setGreeting(String greeting)
{
_greeting = greeting;
System.out.println("set greetingsuccess:"+_greeting);
}
public String hello()
{
return _greeting;
}
public User getUser() {
return new User("prance", "meshow");
}
}
创建一个实现Serializable的projo类也可以是Bean。
package app.demo;
import java.io.Serializable;
public class User implements Serializable{
String userName ="snoopy";
String password ="showme";
public User(Stringuser, String pwd) {
this.userName =user;
this.password= pwd;
}
public StringgetUserName() {
returnuserName;
}
public StringgetPassword() {
returnpassword;
}
}
接下来是配置web.xml
<?xml version="1.0"encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>app.demo.BasicService</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
为了测试可以在编辑一个简单的test.jsp
<%@ pageimport="com.caucho.hessian.client.HessianProxyFactory,
app.demo.BasicAPI"%>
<%@page language="java"%>
<%
HessianProxyFactory factory = newHessianProxyFactory();
String url = ("http://" +request.getServerName() + ":" +request.getServerPort() +
request.getContextPath() + "/hello");
out.println(url);
BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class,url);
out.println("Hello: " + basic.hello());
out.println("Hello: " + basic.getUser() .getUserName() );
out.println("Hello: " +basic.getUser().getPassword() );
%>
将一切配置成功后,将项目发布到web 服务器上去,可以是Tomcat,Rain等等。
进入
结果如下:
Hello: Hello, world
Hello: snoopy
Hello: showme
说明服务器端已经编写成功。
java客户端
创建一个名为HessianClient的JAVAProject,载入hessian.jar包
创建与服务器端一样的接口,及基础类
public interface BasicAPI{
public void setGreeting(Stringgreeting);
public String hello();
public User getUser();
}
import java.io.Serializable;
public class User implements Serializable{
String userName ="snoopy";
String password ="showme";
public User(Stringuser, String pwd) {
this.userName =user;
this.password= pwd;
}
public StringgetUserName() {
returnuserName;
}
public StringgetPassword() {
returnpassword;
}
}
创建客户端程序
importcom.caucho.hessian.client.HessianProxyFactory;
public class BasicClient {
public static void main(String[] args)
throwsException
{
String url ="http://127.0.0.1
:8080/Hessian/hello";
HessianProxyFactoryfactory = new HessianProxyFactory();
BasicAPIbasic = (BasicAPI) factory.create(BasicAPI.class, url);
System.out.println("Hello:" + basic.hello());
System.out.println("Hello:" + basic.getUser().getUserName());
System.out.println("Hello:" + basic.getUser().getPassword());
basic.setGreeting("HelloGreeting");
System.out.println("Hello:" + basic.hello());
}
}
运行结果:
Hello: Hello, world
Hello: prance
Hello: meshow
Hello: Hello Greeting
未完待续、、、
分享到:
相关推荐
文件列表中的“Hessian”可能包含了Hessian的相关库、示例代码或者文档,可以帮助开发者更好地理解和使用Hessian Remoting。 总结来说,Hessian Remoting是基于HTTP的二进制RPC技术,它简化了远程方法调用的过程,...
- Spring集成Hessian:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html 通过这些资源,开发者可以更深入地理解并应用Hessian在实际项目中的各种场景。
<bean id="hessianServer" class="org.springframework.remoting.caucho.HessianServlet"> <!-- 配置Servlet容器 --> <!-- 端口配置 --> ... <!-- 将HessianServlet注册到Jetty服务器 --> ...
Hessian是Apache的一个子项目,它是一种二进制的Remoting协议,常用于Java和.NET之间进行远程方法调用(RPC)。本示例将介绍如何在Java中利用Dubbo的Hessian协议进行HTTP请求的实现。 首先,我们需要理解Hessian...
Hessian 协议是一种轻量级的 remoting on http 工具,使用简单的方法提供了 RMI 的功能。采用的是二进制 RPC 协议,所以它很适合于发送二进制数据。Hessian 主要用作面向对象的消息通信。 Hessian 协议报文格式可以...
在Spring框架中,Hessian是一种轻量级的远程方法调用(RPC)协议,它能够实现Java对象到字节流的序列化,从而使得服务端的对象可以在客户端直接调用,仿佛对象就在本地一样。Hessian提供了高效的二进制RPC协议,使得...
<bean id="hessianServiceExporter" class="org.springframework.remoting.caucho.HessianServiceExporter"> ``` 或者在web.xml中配置HessianServlet: ```xml <servlet-name>HessianServlet ...
hessian是一个轻量级的Java Remoting方案
远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供...
<bean id="userServiceExporter" class="org.springframework.remoting.caucho.HessianExporter"> <property name="urlPath" value="/hessian/userService" /> ``` 3. **配置 Spring MVC**:在 Spring MVC...
Hessian一般是通过Web应用来提供服务,因此非常类似于平时我们用的 WebService。 只是它不使用SOAP协议,但相比webservice而言更简单、快捷。
在IT行业中,Hessian是一种高效的二进制RPC(Remote Procedure Call)协议,它由Caucho Technology开发。Spring框架为了提供远程服务调用的支持,将其集成到自己的服务中,使得开发者能够利用Hessian的特性来实现...
Hessian是一种基于HTTP的二进制Remoting协议,由Caucho公司开发。它能够将Java对象序列化为高效的二进制格式,从而减少网络传输的数据量,提高通信效率。相比XML或JSON,Hessian的解析速度更快,占用的带宽更少,...
Hessian是由Caucho公司开发的一种轻量级的二进制Remoting协议,它提供了高效的序列化和反序列化机制,使得跨平台的远程方法调用(RMI)变得更加便捷。Hessian支持HTTP传输,可以在防火墙开放的HTTP端口上进行通信,...
Hessian是一种二进制的Remoting协议,由Caucho Technology开发,常用于分布式系统中的远程方法调用(RPC)。这种协议的主要优点是它能够高效地序列化和反序列化Java对象,使得网络通信更加高效。 Hessian协议基于...
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。参考文档地址...
class="org.springframework.remoting.caucho.HessianExporter"> <property name="url" value="/hessian/myService" /> ``` 4. **客户端消费服务**:在客户端,同样需要引入Hessian库。然后,你可以使用`...
在分布式系统中,远程调用(Remoting)是必不可少的技术之一,Spring Remoting提供了多种远程调用解决方案,帮助开发者轻松实现服务间的通信。本文将深入探讨Spring Remoting的核心概念、实现方式以及实际应用。 ...
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。