欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用hessian简单使用

程序员文章站 2022-03-03 16:15:36
...

使用hessian简单实现项目之间的通信

首先建立两个动态工程分别命名为servicepro与clientpro,然后分别导入hessian用到的jar包(hessian-4.0.3.jar)

一、首先对服务端(servicepro工程)进行配置:

1.建立接口与接口实现类

a.创建HessianHelloWorld接口,接口中只有一个target方法

package com.remote;

public interface HessianHelloWorld {
	String target();
}

 b.创建HessianHelloWorldImpl继承HessianServlet并实现HessianHelloWorld接口

package com.remote.impl;

import com.caucho.hessian.server.HessianServlet;
import com.remote.HessianHelloWorld;

public class HessianHelloWorldImpl extends HessianServlet implements
		HessianHelloWorld {
	private static final long serialVersionUID = -489831024851039867L;

	@Override
	public String target() {
		return "target:one piece";
	}

}

 2.修改Web.xml文件,将上面实现的类作为servlet配置到该文件中

<servlet>
  	<servlet-name>remote-service</servlet-name>
  	<servlet-class>com.remote.impl.HessianHelloWorldImpl</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>remote-service</servlet-name>
  	<url-pattern>/service/remote</url-pattern>
  </servlet-mapping>

配置后该远程访问路径为http://localhost:8080/servicepro/service/remote

 

完成上述配置后工程的结构如附件:serviceproj-1.jpg

 

二、接着对客服端(clientpro工程)进行配置

1.在工程下直接创建类HessianClientTest类进行测试

package com.client.remote.test;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.remote.HessianHelloWorld;

public class HessianClientTest {
	
	public static void main(String[] args) {
			String url = "http://localhost:8080/servicepro/service/remote";
			HessianProxyFactory factory = new HessianProxyFactory();
			HessianHelloWorld hello = null;
			try {
				hello = (HessianHelloWorld) factory.create(HessianHelloWorld.class, url);
			} catch (MalformedURLException e) {
				e.printStackTrace();
			}
			System.out.println(hello.target());
		}
}

 此处需要注意的是HessianHelloWorld接口的使用,接口的引入方式有如下:

a.接口可以通过工程引入的方式从servicepro工程中引入该接口,选中clientpro右击-->build path -->configure build path 弹出对话框选择project项添加servicepro即可

b.通过将servicepro打包成jar并添加到clientpro工程路径下。

c.还有就是在客户端(clientpro工程)建立包含相同方法的接口,接口的名字可以任意但接口中的方法必须一致,一般便于管理接口命名都相同。

首选前两种方法,在开发阶段通过工程引入的方式获取这些接口,若接口功能已经确定也可以选择将需要用到的接口打包成jar并引入客户端,jar文件中只包含接口即可

 完成上述配置后工程的结构如附件:clientproj-1.jpg

 

 

 

相关标签: java web