码迷,mamicode.com
首页 > 其他好文 > 详细

hessian学习

时间:2014-11-05 10:46:00      阅读:174      评论:0      收藏:0      [点我收藏+]

标签: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

bubuko.com,布布扣

再选择Jar File

bubuko.com,布布扣

 

二、客户端调用

同样先添加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 }

 

hessian学习

标签:style   blog   http   io   color   ar   os   java   for   

原文地址:http://www.cnblogs.com/yjmyzz/p/hessian-helloworld.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!