使用Hessian提供远程服务

Hessian是一个基于http协议的轻量级RMI框架,因此可以无视防火墙,,并且采用自定义的二进制协议进行数据传输,相比原生RMI减少了对象的网络传输。

使用Hessian非常简单,提供远程服务不需要像RMI那样需要实现指定接口。

使用Hessian发布远程服务的步骤:

首先下载jar包,下载地址在这里

将jar包放在web项目WEB-INF/lib目录下。

接下来编写Hello接口:

public interface Hello {public String hello(String name);}

这个接口就是对外服务的方法集。

实现Hello接口:public class HelloImpl implements Hello{public String hello(String name) {return "hello "+name;}}

这个类就是实现远程服务的具体类,可以看到和普通的java类没有任何区别。

这样服务就算写好了。

配置web.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=""xmlns="" xmlns:web=""xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>Hessian</display-name><servlet><servlet-name>hessian</servlet-name><servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class><init-param><param-name>service-class</param-name><param-value>impls.HelloImpl</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>hessian</servlet-name><url-pattern>/hessian</url-pattern></servlet-mapping></web-app>上面其实就是配置了一个servlet,来处理/hessian的请求。

启动web项目。

最后测试:

public class ClientTest {public static void main(String[] args) throws MalformedURLException {String url=":8080/Hessian/hessian";HessianProxyFactory factory=new HessianProxyFactory();Hello hello=(Hello) factory.create(Hello.class,url);System.out.println(hello.hello("yukjin"));}}输出结果:

hello yukjin

我无所事事的度过了今天,是昨天死去的人们所期望的明天。

使用Hessian提供远程服务

相关文章:

你感兴趣的文章:

标签云: