(一)远程服务端
1.服务接口
package server;
public interface Hello {
String hello(String name);
}
2.接口实现类
package server;
public class HelloImpl implements Hello{
public String hello(String name) {
return "hello,"+name+"! 欢迎学习Hessian";
}
}
在服务器端配置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>hessianService</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>server.HelloImpl</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hessianService</servlet-name>
<url-pattern>/hessianService</url-pattern>
</servlet-mapping>
</web-app>
还要导入jar包,从Hessian官网上下载,放入lib文件夹下.
为了方便,将Hello接口及实现类打包成jar包,以供客户端使用,在这里打包成hello.jar.
至此 服务器端 完成.
注:服务器端IP是http://192.168.1.104:8081
(二)客户端
通过服务器端暴露的服务接口,来进行远程调用服务.
程序如下:
package client;
import java.net.MalformedURLException;
import server.Hello;
import com.caucho.hessian.client.HessianProxyFactory;
public class RomoteTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//hessian服务的url 其中hessian-v1是项目名
String url = "http://192.168.1.104:8081/hessian-v1/hessianService";
//创建HessianProxyFactory实例
HessianProxyFactory factory = new HessianProxyFactory();
//获得Hessian服务的远程引用
try {
Hello hello = (Hello)factory.create(Hello.class,url);
System.out.println(hello.hello("kingtoon"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
因为要用到接口Hello,所以需要将Hello.jar导入到lib下.
测试结果如下:
hello,kingtoon! 欢迎学习Hessian
1.服务接口
package server;
public interface Hello {
String hello(String name);
}
2.接口实现类
package server;
public class HelloImpl implements Hello{
public String hello(String name) {
return "hello,"+name+"! 欢迎学习Hessian";
}
}
在服务器端配置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>hessianService</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>server.HelloImpl</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hessianService</servlet-name>
<url-pattern>/hessianService</url-pattern>
</servlet-mapping>
</web-app>
还要导入jar包,从Hessian官网上下载,放入lib文件夹下.
为了方便,将Hello接口及实现类打包成jar包,以供客户端使用,在这里打包成hello.jar.
至此 服务器端 完成.
注:服务器端IP是http://192.168.1.104:8081
(二)客户端
通过服务器端暴露的服务接口,来进行远程调用服务.
程序如下:
package client;
import java.net.MalformedURLException;
import server.Hello;
import com.caucho.hessian.client.HessianProxyFactory;
public class RomoteTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//hessian服务的url 其中hessian-v1是项目名
String url = "http://192.168.1.104:8081/hessian-v1/hessianService";
//创建HessianProxyFactory实例
HessianProxyFactory factory = new HessianProxyFactory();
//获得Hessian服务的远程引用
try {
Hello hello = (Hello)factory.create(Hello.class,url);
System.out.println(hello.hello("kingtoon"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
因为要用到接口Hello,所以需要将Hello.jar导入到lib下.
测试结果如下:
hello,kingtoon! 欢迎学习Hessian