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

Flex + Hessian 学习笔记(一)

发布时间:2020-12-15 04:29:03 所属栏目:百科 来源:网络整理
导读:Hessian是Caucho开发的一种二进制Web Service协议。他们的开源实现采用Apache许可。详情请浏览 http://hessian.caucho.com/ 废话就不多说了,下面是一个Flex + Hessian 的小程序,直接看代码吧。 java 代码 ? //java服务端接口 ?? public ? interface ?MyHes
Hessian是Caucho开发的一种二进制Web Service协议。他们的开源实现采用Apache许可。详情请浏览 http://hessian.caucho.com/

废话就不多说了,下面是一个Flex + Hessian 的小程序,直接看代码吧。
java 代码
?
  1. //java服务端接口??
  2. public?interface?MyHessianService?{??
  3. ??
  4. ????public?String?getUserName(Integer?userId);??
  5. }??
import?com.caucho.hessian.server.HessianServlet;??
  • ??
  • //java服务端接口实现类??
  • class?MyHessianServiceImpl?extends?HessianServlet?implements??
  • ????????MyHessianService?{??
  • public?String?getUserName(Integer?userId)?{??
  • ????????return?"MyName"?+?userId;??
  • ????}??
  • web.xml 代码
  • ?
      <servlet>??
    1. ????<servlet-name>myservice</servlet-name>??
    2. ????<servlet-class>myhessian.service.MyHessianServiceImpl</servlet-class>??
    3. </servlet>??
    4. <servlet-mapping>??
    5. ????<servlet-name>myservice</servlet-name>??
    6. ????<url-pattern>/myservice</url-pattern>??
    7. </servlet-mapping>??

    服务端就上面这些,下面是flex的代码
    xml 代码
    <mx:Application???
  • ????xmlns:mx="http://www.adobe.com/2006/mxml"???
  • ????layout="absolute"???
  • ????implements="mx.rpc.IResponder"??
  • ????xmlns:hessian="hessian.mxml.*">??
  • ????<mx:Script>??
  • ????????[CDATA[??
  • ????????????import?mx.controls.Alert;??
  • ????????????import?mx.rpc.events.ResultEvent;??
  • ????????????import?mx.rpc.AsyncToken;??
  • ??????????????
  • ????????????public?function?result(data:Object):void?{??
  • ????????????????var?event:ResultEvent?=?data?as?ResultEvent;??
  • ????????????????userName.text?=?event.result?as?String;??
  • ????????????}??
  • ??????????????
  • ????????????public?function?fault(data:Object):void?{??
  • ????????????????Alert.show("error");??
  • ????????????public?function?onClick():void?{??
  • ????????????????var?userId?:?NumberNumber?=?Number(userIdInput.text);??
  • ????????????????//getUserName?就是java服务端?MyHessianServiceImpl?中的?getUserName?方法??
  • ????????????????var?token:AsyncToken?=?myHessianService.getUserName.send(userId);??
  • ????????????????token.addResponder(this);??
  • ????????????}??
  • ????????]]??
  • ????</mx:Script>??
  • ????<hessian:HessianService?id="myHessianService"?destination="myservice"?showBusyCursor="true"/>??
  • ????<mx:Label?x="10"?y="10"?text="UserID"/>??
  • ????<mx:TextInput?id="userIdInput"?x="61"?y="8"/>??
  • ????<mx:Button?x="10"?y="36"?label="getUserName"?click="onClick()"/>??
  • ????<mx:Label?id="userName"?x="122"?y="38"?text=""?width="99"?fontWeight="bold"?fontSize="11"/>??
  • ??????
  • </mx:Application>??

  • 输入一个userID,服务端返回userName
    注意需要实现mx.rpc.IResponder接口

    (编辑:李大同)

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

      推荐文章
        热点阅读