一:添加hessian-4.0.7.jar至工程中
二:服务端发布的服务代码
建立web工程
1.接口Isay
package fly.sun.demo1;
public interface Isay {
public String sayHello(String arg1,String arg2);
}
2.接口的实现类IsayImpl
package fly.sun.demo1;
public class IsayImpl implements Isay {
public String sayHello(String arg1, String arg2) {
return "Hello:" + arg1 + arg2;
}
}
3.在web.xml中配置Hessian的Servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>hello</servlet-name>
<!-- 配置Hessian的Servlet(来源于jar包) -->
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<!-- 固定写为service-class -->
<param-name>service-class</param-name>
<param-value>fly.sun.demo1.IsayImpl</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
三:客户端调用服务端发布的服务
客户端也需要导入hessian-4.0.7.jar
客户端代码如下:
import com.caucho.hessian.client.HessianProxyFactory;
public class HelloTest {
public static void main(String[] args) throws Exception {
// Hessian代理工厂
HessianProxyFactory factory = new HessianProxyFactory();
// 访问配置的Servlet路径
String url = "http://localhost:8080/发布服务的工程名/hello";
// 使用Hessian工厂获得接口的具体实现类
Isay i = (Isay)factory.create(Isay.class, url);
System.out.println(i.sayHello("fly", "sun"));
}
}
运行结果:
import com.caucho.hessian.client.HessianProxyFactory;
public class HelloTest {
public static void main(String[] args) throws Exception {
// Hessian代理工厂
HessianProxyFactory factory = new HessianProxyFactory();
// 访问配置的Servlet路径
String url = "http://localhost:8080/发布服务的工程名/hello";
// 使用Hessian工厂获得接口的具体实现类
Isay i = (Isay)factory.create(Isay.class, url);
System.out.println(i.sayHello("fly", "sun"));
}
}