HttpService远程校验

今天学了下HttpService,和大家分享一下。HttpService是用来读取远程数据的一个对象,数据格式为XML。

我做了一个登陆校验的功能,主要是通过HttpService将服务器端的用户数据得到,然后在客户端判断输入的用户名和密码是否存在。

 

主要步骤如下:

  1. 声明HttpService对象
  2. 调用HttpService对象的send()方法
  3. 使用ResultEvent.result方法得到返回数据 或者 使用HttpService.lastResult方法得到返回数据

 

程序代码:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
 3                xmlns:s="library://ns.adobe.com/flex/spark" 
 4                xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
 5                creationComplete="userpassService.send()">
 6     <fx:Declarations>
 7         <!-- 将非可视元素(例如服务、值对象)放在此处 -->
 8         <s:HTTPService id="userpassService" url="http://localhost:8080/xmltest/users.xml" result="handlerUserPassSend(event)"
 9                        resultFormat="e4x">
10         </s:HTTPService>
11     </fx:Declarations>
12     
13     <fx:Script>
14         <![CDATA[
15             import mx.controls.Alert;
16             import mx.rpc.events.ResultEvent;
17             
18             /**通过HttpService得到远程数据*/
19             private var usersArr:XMLList;
20             private function handlerUserPassSend(event:ResultEvent):void
21             {
22                 //接收返回的数据
23                 var returnObj:Object = event.result;
24                 usersArr = returnObj.users.user;
25             }
26             
27             private function handlesendButtonClick(event:Event):void
28             {
29                 if(judgeText())
30                 {
31                     for(var i:int = 0; i < usersArr.length; i++)
32                     {
33                         var usernameIn:String = usersArr[i].username;
34                         var passwordIn:String = usersArr[i].password;
35                         if(usernameIn == username && passwordIn == password)
36                         {
37                             Alert.show("用户登陆成功");
38                             return;
39                         }
40                     }
41                     
42                     Alert.show("用户不存在");
43                     return;
44                 }
45             }
46             
47             /**判断输入是否合法*/
48             private var username:String;
49             private var password:String;
50             private function judgeText():Boolean
51             {
52                 if(usernameText.text == "" || usernameText.text == null)
53                 {
54                     Alert.show("用户名不能为空");
55                     return false;
56                 }
57                 else if(passwordText.text == "" || passwordText.text == null)
58                 {
59                     Alert.show("密码不能为空");
60                     return false;
61                 }
62                 
63                 username = usernameText.text;
64                 password = passwordText.text;
65                 
66                 return true;
67             }
68         ]]>
69     </fx:Script>
70     
71     
72     <s:Panel width="40%" height="40%" horizontalCenter="0" verticalCenter="0">
73         <s:Form width="80%" height="80%">
74             <s:FormItem label="username: " fontSize="20">
75                 <s:TextInput id="usernameText"/>
76             </s:FormItem>
77             <s:FormItem label="password: " fontSize="20">
78                 <s:TextInput id="passwordText"/>
79             </s:FormItem>
80             <s:FormItem>
81                 <s:Button id="sendButton" label="login" click="handlesendButtonClick(event)"/>
82             </s:FormItem>
83         </s:Form>
84     </s:Panel>
85 </s:Application>

 第7~10行声明了一个HttpService对象,其中url属性指定的是要请求的资源路径,这里是本地tomcat服务器的xmltest/users.xml, result属性是请求资源返回后触发的方法, resultFormat属性是将返回的数据类型转换的格式,这里使用e4x格式是指将数据按XML格式读取,而不是封装成对象。

 

远程数据:(http://localhost:8080/xmltest/users.xml)

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <users>
 3     <user>
 4         <username>yuan</username>
 5         <password>123</password>
 6     </user>
 7     <user>
 8         <username>quan</username>
 9         <password>589</password>
10     </user>
11 </users>

 

程序运行结果:

 

 

 

转载于:https://www.cnblogs.com/hanyuan/archive/2013/01/07/2850146.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费开源FTP Server软件FileZilla Server

很多朋友在实际应用中都可能需要用到FTP Server类的软件&#xff0c;这类软件有很多&#xff0c;比较知名的有Serv&#xff0d;U、G6等&#xff0c;这里向大家介绍一下FileZilla Server&#xff0c;Windows平台下一款不错的FTP Server软件&#xff0c;而且是免费的、开源的。 S…

Java BigDecimal floatValue()方法与示例

BigDecimal类floatValue()方法 (BigDecimal Class floatValue() method) floatValue() method is available in java.math package. floatValue()方法在java.math包中可用。 floatValue() method is used to convert a BigDecimal to a float value and when this BigDecimal m…

明明的随机数(快排)

明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随机整数&#xff08;N≤100&#xff09;&#xff0c;对于其中重复的数字&#xff0c;只保留一个&#xff0c;把其余相同的数去掉&#xff0c;不同的数…

ffplay分析 (seek操作处理)

《ffplay的数据结构分析》 《ffplay分析&#xff08;从启动到读取线程的操作&#xff09;》 《ffplay分析&#xff08;视频解码线程的操作&#xff09;》 《ffplay分析&#xff08;音频解码线程的操作&#xff09;》 《ffplay 分析&#xff08;音频从Frame(解码后)队列取数据到…

android 代码设置 键盘适应_硬核软件,能在电脑上控制iPhone和Android手机

在电脑上控制手机大概已经不是什么新鲜操作&#xff0c;小米、华为都为自家手机和电脑的联动推出了同屏操作之类的功能&#xff0c;此外也可以通过开源软件Scrcpy来在Windows或者macOS上实现对安卓手机的控制&#xff0c;这些基本都只针对安卓手机。近期&#xff0c;奇客君发现…

网址出现error.aspx?aspxerrorpath=404.htm?aspxerrorpath=的原因及解决办法转

网址出现aspxerrorpath的问题描述 1.网页打不开了,输入网址后就提示error.aspx?aspxerrorpath/about-us.html&#xff0c;到底是什么原因啊&#xff1f; 2.ASP网站自定义了404错误页&#xff0c;但访问不存在的网址时网址错误页后面总多出aspxerrorpath参数&#xff0c;怎么解…

ruby hash方法_Ruby中带有示例的Hash.default(key = nil)方法

ruby hash方法Hash.default(key nil)方法 (Hash.default(keynil) Method) In this article, we will study about Hash.default(keynil) Method. The working of this method can be predicted with the help of its name but it is not as simple as it seems. Well, we will…

回文数、括号匹配(栈操作)

回文数 “xyzyx”是一个回文字符串&#xff0c;所谓回文字符串就是指正读反读均相同的字符序列&#xff0c;如“席主席”、“记书记”、“aha”和“ahaha”均是回文&#xff0c;但“ahah”不是回文。输入一行字符&#xff08;仅包含小写英文字母a~z&#xff09;请判断这行字符…

ijkplayer 消息循环处理过程分析

ijkplayer 消息循环处理过程分析简介一、消息队列初始化1、 initWithContentURLString函数2、 ijkmp_ios_create函数3、 ijkmp_create函数二、消息队列的消息循环处理函数启动1、prepareToPlay函数2、ijkmp_prepare_async函数3、ijkmp_prepare_async_l函数4、ijkmp_msg_loop函数…

json解析对应的value为null_徒手撸一个JSON解析器

Java大联盟致力于最高效的Java学习关注作者 | 田小波cnblogs.com/nullllun/p/8358146.html1、背景JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。相对于另一种数据交换格式 XML&#xff0c;JSON 有着诸多优点。比如易读性更好&#xff0c;占用空间更少等。在 …

[一]设计模式初探

模式&#xff0c;顾名思义&#xff0c;就是做一种事情的方法归纳&#xff0c;就经验来说&#xff0c;做什么事情有个好的方法来应对都是可以事半功倍的&#xff0c;在软件开发中何谓好的模式? 我认为好的模式简单来说就是保证你应对需求变化的时候不用做更多的代码修改&#x…

Gentoo - ssh-agent配置

现在使用类似github这样的service&#xff0c;一般来说都会配置ssh key认证。所以使用ssh-agent来管理私钥就变的必要。在Gentoo下是这么配置的&#xff1a;- sudo emerge -avt keychain- 编辑.bashrc&#xff0c;加入keychain <private key 1 path> ... <private key…

java 方法 示例_Java ArrayDeque offerFirst()方法与示例

java 方法 示例ArrayDeque类offerFirst()方法 (ArrayDeque Class offerFirst() method) offerFirst() Method is available in java.lang package. offerFirst()方法在java.lang包中可用。 offerFirst() Method is used to add the given element at the front of this deque. …

平院Python习题

在读写文件之前&#xff0c;用于创建文件对象的函数是&#xff08; A &#xff09;。 A&#xff0e; open B&#xff0e; create C&#xff0e; file D&#xff0e;folder 解析&#xff1a; open(file, mode‘r’, buffering-1, encodingNone, errorsNone, newlineNone, close…

搭建srs服务器(rtmp)

搭建srs服务器&#xff08;rtmp&#xff09; 目录:1、下载srs源码&#xff08;从码云上&#xff09;&#xff1a;2、 切换到srs.oschina&#xff1a;3、 这里使用3.0版本&#xff1a;4、 切换到trunk&#xff1a;5、 编译&#xff1a;6、 启动&#xff1a;7、查看日志输出&…

MOSS信息管理策略定制(MOSS custom policies)

MOSS引入了信息管理策略&#xff0c;通过给文档库或列表附加一些策略可以实现一些自动化的功能&#xff0c;如自动给文档打标签&#xff0c;强制文档的审核&#xff0c;启用文档的过期&#xff0c;甚至可以在用户打印文档时插入条形码。难么&#xff0c;这么好用的功能是怎么实…

2560介绍_炒股高手收益翻10倍,只因妙用这一招2560战法,看了都不亏了

(本文由公众号越声研究(yslc927yj)整理&#xff0c;仅供参考&#xff0c;不构成操作建议。如自行操作&#xff0c;注意仓位控制和风险自负。)选股是每个刚入市的新股民需掌握的技巧&#xff0c;通过资金选股了解资金流向&#xff0c;善用工具轻松选股&#xff0c;同时多留意行业…

二进制搜索树_将排序的数组转换为二进制搜索树

二进制搜索树Problem statement: 问题陈述&#xff1a; Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 给定一个数组&#xff0c;其中元素按升序排序&#xff0c;请将其转换为高度平衡的BST。 For this problem, a he…

rtmp协议分析(三次握手)

RTMP详细分析(Message 消息&#xff0c;Chunk分块) librtmp分析&#xff08;发送数据包处理&#xff09; librtmp分析&#xff08;接收数据包处理&#xff09; RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写&#xff0c;它是由Adobe公司提出的一种应 用层的协…

OpenAPI系列: 六、OpenAPI策略分析

一、如何注册 为什么要注册&#xff1f;访问 OpenAPI必须拥有Consumer Key和Consumer Secret。 如何注册&#xff1f;要获取Consumer Key及Consumer Secret&#xff0c;需要消费方&#xff08;Consumer&#xff09;向服务提供方申请注册&#xff0c;服务提供方审核通过后会向消…