Flex + Hessian 学习笔记(一)

xiaoxiao2026-08-27  4

Hessian是Caucho开发的一种二进制Web Service协议。他们的开源实现采用Apache许可。详情请浏览 http://hessian.caucho.com/废话就不多说了,下面是一个Flex + Hessian 的小程序,直接看代码吧。

java 代码   //java服务端接口  public interface MyHessianService {        public String getUserName(Integer userId);  }   java 代码   import com.caucho.hessian.server.HessianServlet;    //java服务端接口实现类  public 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接口

相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5051932.html

最新回复(0)