1 maven依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>4.0.60</version>
</dependency>
2 定义公共接口
public interface HelloService {
String sayHello(String msg);
}
3 Server端实现
可通过tomcat、jetty等提供http服务,配置参考:Jetty运行web项目的两种方式
3.1 接口实现
public class HelloServiceImpl implements HelloService {
@Override
public String sayHello(String msg) {
return "hello, " + msg;
}
}
3.2 web.xml配置
<servlet>
<servlet-name>hessian-demo</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<!-- 服务接口 -->
<param-name>home-api</param-name>
<param-value>me.jtzen9.service.HelloService</param-value>
</init-param>
<init-param>
<!-- 服务实现 -->
<param-name>home-class</param-name>
<param-value>me.jtzen9.service.impl.HelloServiceImpl</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hessian-demo</servlet-name>
<url-pattern>/hessian</url-pattern>
</servlet-mapping>
4 Client端调用
public class HessianClientMain {
public static void main(String[] args) throws MalformedURLException {
String hessianServerUrl = "http://localhost:8888/demo-study/hessian";
HessianProxyFactory hessianProxyFactory = new HessianProxyFactory();
HelloService helloService = (HelloService) hessianProxyFactory.create(HelloService.class,hessianServerUrl);
System.out.println(helloService.sayHello("jtzen9"));
}
}