Hessian是Caucho开发的一种二进制Web Service协议。他们的开源实现采用Apache许可。详情请浏览
http://hessian.caucho.com/
废话就不多说了,下面是一个Flex + Hessian 的小程序,直接看代码吧。
java 代码
?
- ??
- public?interface?MyHessianService?{??
- ??
- ????public?String?getUserName(Integer?userId);??
- }??
import?com.caucho.hessian.server.HessianServlet;??
??
//java服务端接口实现类??
class?MyHessianServiceImpl?extends?HessianServlet?implements??
????????MyHessianService?{??
public?String?getUserName(Integer?userId)?{??
????????return?"MyName"?+?userId;??
????}??
web.xml 代码
?
<servlet>??
- ????<servlet-name>myservice</servlet-name>??
- ????<servlet-class>myhessian.service.MyHessianServiceImpl</servlet-class>??
- </servlet>??
- <servlet-mapping>??
- ????<servlet-name>myservice</servlet-name>??
- ????<url-pattern>/myservice</url-pattern>??
- </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接口
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|