标签:style blog http io color ar os java for
hessian是一个采用二进制格式传输的服务框架,相对传统soap web service,更轻量,更快速。官网地址:http://hessian.caucho.com/
目前已经支持N多语言,包括:java/c#/flex/php/ruby...
maven的依赖项如下:
1 <dependency> 2 <groupId>com.caucho</groupId> 3 <artifactId>hessian</artifactId> 4 <version>4.0.37</version> 5 </dependency>
入门示例:
一、服务端开发
1.1 先建服务接口
1 package yjmyzz.cnblogs.com.service; 2 3 public interface HelloService { 4 5 public String helloWorld(String message); 6 }
1.2 提供服务实现
1 package yjmyzz.cnblogs.com.service.impl; 2 3 import yjmyzz.cnblogs.com.service.HelloService; 4 5 public class HelloServiceImpl implements HelloService { 6 7 @Override 8 public String helloWorld(String message) { 9 return "hello," + message; 10 } 11 12 }
1.3 修改web.xml
1 <!DOCTYPE web-app PUBLIC 2 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 3 "http://java.sun.com/dtd/web-app_2_3.dtd" > 4 5 <web-app> 6 <display-name>hessian-showcase</display-name> 7 8 <welcome-file-list> 9 <welcome-file>index.jsp</welcome-file> 10 </welcome-file-list> 11 12 <servlet> 13 <servlet-name>hessian-service</servlet-name> 14 15 <servlet-class> 16 com.caucho.hessian.server.HessianServlet 17 </servlet-class> 18 19 <init-param> 20 <param-name>home-class</param-name> 21 <param-value> 22 <!-- 服务实现类 --> 23 yjmyzz.cnblogs.com.service.impl.HelloServiceImpl 24 </param-value> 25 </init-param> 26 27 <init-param> 28 <param-name>home-api</param-name> 29 <!-- 服务接口 --> 30 <param-value>yjmyzz.cnblogs.com.service.HelloService</param-value> 31 </init-param> 32 33 </servlet> 34 35 <servlet-mapping> 36 <servlet-name>hessian-service</servlet-name> 37 <url-pattern>/hessian</url-pattern> 38 </servlet-mapping> 39 40 </web-app>
部署到tomcat或其它web容器中即可。
1.4 导出服务接口jar包
最终服务是提供给客户端调用的,客户端必须知道服务的接口信息(包括接口方法中的传输dto定义),所以得将这些java文件导出成jar,提供给调用方。
方法很简单:eclipse中在接口package(包括dto对应的package)上右击,选择Export
再选择Jar File
二、客户端调用
同样先添加maven的hessian依赖项,同时引入上一步导出的服务接口jar包,然后参考下面的示例代码:
1 import java.net.MalformedURLException; 2 import org.junit.Test; 3 import yjmyzz.cnblogs.com.service.HelloService; 4 import com.caucho.hessian.client.HessianProxyFactory; 5 6 7 public class ServiceTest { 8 @Test 9 public void testService() throws MalformedURLException { 10 11 String url = "http://localhost:8080/hessian-showcase/hessian"; 12 System.out.println(url); 13 14 HessianProxyFactory factory = new HessianProxyFactory(); 15 HelloService helloService = (HelloService) factory.create(HelloService.class, url); 16 System.out.println(helloService.helloWorld("jimmy")); 17 18 } 19 }
标签:style blog http io color ar os java for
原文地址:http://www.cnblogs.com/yjmyzz/p/hessian-helloworld.html