![](/images/smiles/icon_biggrin.gif)
一直对java远程通信模模糊糊,对我而言貌似太神秘了.其原因在于一直没有机会使用!(怪我懒,平时自己也不搞...
![](/images/smiles/icon_redface.gif)
)最近公司项目用到了,就看了看,下了jar包自己做了个小demo,供大家入门,实在是“很简单”!以下是参考代码:
在我的MyEclipse中建了两个工程:hessianClient和hessianService,一个客户端,一个做服务端,功能即:客户端远程调用服务端方法返回entity实例.
实体类如下(切记要实现序列化,客户端与服务器共享实体类):
package org.galo.entity;
import java.io.Serializable;
public class User implements Serializable{
private static final long serialVersionUID = 1L;
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
客户端与服务端提供一样的接口,接口定义如下:
package org.galo.service;
import org.galo.entity.User;
public interface LoginService {
public User loginValid();
}
服务器端的实现方法:
package org.galo.service.impl;
import org.galo.entity.User;
import org.galo.service.LoginService;
public class LoginServiceImpl implements LoginService{
public User loginValid() {
User user = new User();
user.setUsername("admin");
user.setPassword("galo");
return user;
}
}
接下来配置服务器端的web.xml,配置对外服务以供客户端调用:
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>org.galo.service.impl.LoginServiceImpl</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
最后一步即客户端调用服务端方法:
package org.galo.test;
import java.net.MalformedURLException;
import org.galo.entity.User;
import org.galo.service.LoginService;
import com.caucho.hessian.client.HessianProxyFactory;
public class HessianTest {
public static void main(String[] args) {
String url = "http://127.0.0.1:8080/hessianService/login";
HessianProxyFactory factory = new HessianProxyFactory();
try {
LoginService service = (LoginService) factory.create(LoginService.class, url);
User user = service.loginValid();
System.out.println(user.getUsername());
System.out.println(user.getPassword());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
发布客户端与服务端至tomcat,启动服务器,运行测试方法...嘿嘿!
之前我测试的时候报了一个异常,连接错误之类的,原因在于我的url没带端口.
附:hessian.jar包
补充一下:hessian采用的二进制通信协议,同类的java远程通信技术还有:Rmi,httpInvoker,WS
分享到:
相关推荐
该案例有hessian java python,该案例有hessian java python,该案例有hessian java python
hessian源码
hessian资料3hessian资料3hessian资料3hessian资料3hessian资料3
Hessian多个版本下载,包括Hessian3.1.6,Hessian3.2.1,Hessian4.0.7
Hessian服务端 入门程序
基于Hessian的冠状动脉血管造影分割方法
多尺度hessian滤波器,图像增强,参考frangi的论文
NULL 博文链接:https://paopaochao3.iteye.com/blog/550771
赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
1、开发环境:eclipse3.1 + jdk1.5; 2、样例说明: 1)spring + hessian; 2)hessian。 3、样例内容: 1)HashMap传递; 2)简单对象传递; 3)异常处理
dubbo-hessian协议http请求demo
Hessian android客户端异步请求访问包
hessian 服务端 客户端 可运行
hessian是一个轻量级的Java Remoting方案
Hessian案列代码
赠送jar包:hessian-3.3.6.jar; 赠送原API文档:hessian-3.3.6-javadoc.jar; 赠送源代码:hessian-3.3.6-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
hessian4.0.37.jar
一个简单的Hessian,简单介绍了Hessian的使用方式,介绍了Hessian和Spring集成的使用方式,以及单独使用Hessian的方式。
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。参考文档地址...
想学习Hessian的同志们,这个是一个简单的demo。比较简单,不过能够加深对Hessian的理解