Flex4_WebService组件

一、Java端:

1、新建WebServiceProject,在项目名称中输入:FlexWebService,下面Framework选择XFire,点击完成。

2、新建包:com.th.services ,包上右击新建-->其它-->Web Services-->Web Service(在Strategy中选择:Create web service from java class(Bottom-up scenario),将下面的Create new Java bean 选中)-->下一步(Web service name:FlexService,Java package选择刚建的包)-->完成!自动生成了类和接口,和普通项目不同之处在于多了一个“WebServices”文件夹及下面的“services.xml”文件。 

services.xml文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
    <service>
        <!-- 将来Flex调用的服务名称 -->
        <name>FlexService</name>
        <serviceClass>com.th.services.IFlexService</serviceClass>
        <implementationClass>
            com.th.services.FlexServiceImpl
        </implementationClass>
        <style>wrapped</style>
        <use>literal</use>
        <scope>application</scope>
    </service></beans>

3、为IFlexService接口及实现添加登录方法:

package com.th.services;
public class FlexServiceImpl implements IFlexService {
    public String login(String userName, String userPwd) {
        String result="-1";
        if("admin".equals(userName) && "123".equals(userPwd)){
            result="0";
        }
        return result;
    }
}

4、部署运行项目,浏览器地址:http://localhost:8090/FlexWebService/services/FlexService?wsdl   如果看到的是一堆XML,说明创建成功!

二、Flex端

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               initialize="init()">
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.rpc.events.FaultEvent;
            import mx.rpc.events.ResultEvent;
            
            private function init():void{
                btn_login.addEventListener(MouseEvent.CLICK,login);
                
            }
            
            //登录
            private function login(event:MouseEvent):void{
                // WebService对象.方法名.send();
                webSer.login.send();
            }
            
            //返回处理
            private function resultLoginHandle(event:ResultEvent):void{
                var result:int=int(event.result.toString());
                switch(result){
                    case 0:
                        Alert.show("登录成功!","提示");
                        break;
                    default:
                        Alert.show("用户名或密码错误!","提示");
                        break;
                }
            }
            
            private function faultLoginHandle(event:FaultEvent):void{
                //返回错误处理
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <s:WebService id="webSer" wsdl="http://localhost:8090/FlexWebService/services/FlexService?wsdl" showBusyCursor="true">
            <!--name指的是Service中的方法名,必须和服务端方法名一致-->
            <s:operation name="login" result="resultLoginHandle(event)" fault="faultLoginHandle(event)">
                <s:request>
                    <!--方法参数列表,顺序,个数与服务器端要一致-->
                    <in0>{txt_userName.text}</in0>
                    <in1>{txt_userPwd.text}</in1>
                </s:request>
            </s:operation>
            <!--有多个方法,继续如上添加 <s:operation>节点即可-->
        </s:WebService>
    </fx:Declarations>
    <s:Panel x="37" y="40" width="250" height="200" title="登录">
        <s:Label x="37" y="28" text="用户名:"/>
        <s:Label x="37" y="61" text="密    码:"/>
        <s:TextInput id="txt_userName" x="82" y="24"/>
        <s:TextInput id="txt_userPwd" x="83" y="56" displayAsPassword="true"/>
        <s:Button x="83" y="115" label="登录" id="btn_login"/>
    </s:Panel>
</s:Application>

 

转载于:https://www.cnblogs.com/lovemoon714/archive/2012/05/25/2517759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值