加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Hessian简单入门

发布时间:2020-12-17 01:04:13 所属栏目:安全 来源:网络整理
导读:?Hessian是一个简单的连接Web服务的二进制协议。 ?????? Hessian概述: 一.客户端和服务端不依赖于其他任何jar,比起webService 它显得轻量许多,比如使用xfire包含核心库和客户端的jar,大小达到了10M,而最新的hessian-4.0.7? jar大小也只有不到400K. ????? 二.
?Hessian是一个简单的连接Web服务的二进制协议。

?????? Hessian概述:

一.客户端和服务端不依赖于其他任何jar,比起webService 它显得轻量许多,比如使用xfire包含核心库和客户端的jar,大小达到了10M,而最新的hessian-4.0.7? jar大小也只有不到400K.

????? 二.更适合二进制的传输,比起webService.Hessian的 传输速度要高于webService.

????? 三.支持Java,c#,Flex(actionscrpit)

?

一.? 添加Hessian的jar于Web-Inf下.? 这里使用的是hessian-4.0.7,下载地址: http://download.csdn.net/source/3159260

二.? 定制供客户端调用的接口:

[java] view plain copy print ?
  1. package?com.wtang.isay;??
  2. ??
  3. public?interface?Isay?{??
  4. ????public?String?sayHello(String?arg1,String?arg2);??
  5. }??

?

三.? 接口具体实现(如果使用了pojo类,pojo类必须实现序列化)

[java] view plain copy print ?
  1. package?com.wtang.isay;??
  2. ??
  3. public?class?IsayImpl?implements?Isay?{??
  4. ??
  5. ????public?String?sayHello(String?arg1,?String?arg2)?{??
  6. ????????return?"Hello:"?+?arg1?+?arg2;??
  7. ????}??
  8. }??

?

四.? 配置Hessian的Servlet[类似于配置webService的service.xml]

?

[java] view plain copy print ?
  1. <servlet>??
  2. ????<servlet-name>hello</servlet-name>??
  3. ????<!--?配置Hessian的Servlet?-->??
  4. ????<servletclass>com.caucho.hessian.server.HessianServlet</servlet-class>??
  5. ????<init-param>??
  6. ????????<param-name>service-class</param-name>??
  7. ????????<param-value>com.wtang.isay.IsayImpl</param-value>??
  8. ????</init-param>??
  9. </servlet>??
  10. ??
  11. <servlet-mapping>??
  12. ????<servlet-name>hello</servlet-name>??
  13. ????<url-pattern>/hello</url-pattern>??
  14. </servlet-mapping>??

?

?

?

五.? 书写服务端的测试jsp页面[HessianProxyFactory类似于xifre的XFireProxyFactory]??

?

[java] view plain copy print ?
  1. <%@?page?language="java"?import="java.util.*"?pageEncoding="utf-8"%>??
  2. <%@?page?import="com.caucho.hessian.client.HessianProxyFactory"%>??
  3. <%@?page?import="com.wtang.isay.Isay"%>??
  4. ??
  5. <%??
  6. ????//Hessian代理工厂 ??
  7. ????HessianProxyFactory?factory?=?new?HessianProxyFactory();??
  8. ????//获得访问配置的Servlet路径 ??
  9. ????String?url=("http://"+request.getServerName()+":"+request.getServerPort()??
  10. ????+request.getContextPath()+"/hello");??
  11. ??????
  12. ????System.out.println(url);??
  13. ??????
  14. ????//使用Hessian工厂获得接口的具体实现类 ??
  15. ????Isay?i?=?(Isay)factory.create(Isay.class,url);??
  16. ??????
  17. ????out.println("<h2>"+i.sayHello("chen","weitang")+"<h2>");??
  18. %>??

?

输出Hello:cheweitang

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读