代码改变世界

十五分钟学会用Hessian

  飘扬的红领巾  阅读(1307)  评论(1编辑  收藏  举报

了解Hessian

Hessian是远程调用的一种技术,和WebService类似,但不同的是较WebService而言,它更轻量级,更简单,更快速。关于Hessian更详细全面的介绍可以查看http://hessian.caucho.com/。下面可以花十五分钟的时间,学会怎么简单的使用Hessian。

使用Hessian

在Eclipse建立一个Maven webapp项目:

image

右键项目添加Hessian的依赖:

image

Maven随后会去中央仓库下载Hessian相关的jar包。

添加一个提供Hessian服务的接口:

   1:  /**
   2:   * @ClassName: HessianService
   3:   * @Description: Hessian服务接口
   4:   * @author liping.action@gmail.com
   5:   * @date 2014-1-3 下午10:41:26
   6:   * 
   7:   */
   8:  public interface HessianService {
   9:      public String sayHello(String name);
  10:  }

以及现实类:

   1:  public class HessianServiceImpl implements HessianService {
   2:      /*
   3:       * (non-Javadoc)
   4:       * 
   5:       * @see
   6:       * com.cnblogs.leefreeman.hessian.service.HessianService#sayHello(java.lang
   7:       * .String)
   8:       */
   9:      @Override
  10:      public String sayHello(String name) {
  11:          // TODO Auto-generated method stub
  12:          return "hello " + name;
  13:      }
  14:  }

最后在web.xml中增加hessian相应的配置:

   1:  <servlet>
   2:         <servlet-name>service</servlet-name>
   3:         <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
   4:         <load-on-startup>1</load-on-startup>
   5:         <init-param>
   6:             <param-name>service-class</param-name>
   7:             <param-value>com.cnblogs.leefreeman.hessian.service.impl.HessianServiceImpl</param-value>
   8:         </init-param>
   9:      </servlet>
  10:      <servlet-mapping>
  11:         <servlet-name>service</servlet-name>
  12:         <url-pattern>/service</url-pattern>
  13:      </servlet-mapping>

现在Hessian服务端就算完成,是不是觉得很简单。启动项目:

image

打开该页面说明Hessian服务端启动正常。接口下来编写客户端测试用例:

   1:  public class HessianServiceTest {
   2:      private final static String SERVICE_URL = "http://localhost:8080/hessian-project/service";
   3:   
   4:      @Test
   5:      public void testSayHello() {
   6:          HessianProxyFactory proxyFactory = new HessianProxyFactory();
   7:          try {
   8:              HessianService hessianService = (HessianService) proxyFactory
   9:                      .create(HessianService.class, SERVICE_URL);
  10:              System.out.println(hessianService.sayHello("liping"));
  11:          } catch (MalformedURLException e) {
  12:              e.printStackTrace();
  13:          }
  14:      }
  15:  }

结果:

image

一个简单的Hession应用就完成了,相比搭建Webservice项目,要简单得多。

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示