`

Flex3 HTTPService和Java使用json交互(登录示例)

阅读更多

Flex在做界面开发的时候有很多优势,Flex+java的组合也越来越流行,在整合开发的过程中自然会遇到数据交互的问题,下面介绍Flex3+Java整合使用json的情况。
一、Flex3中使用json需要corelib.swc   http://www.adobe.com/cfusion/exchange/index.cfm?view=sn111&extid=1078469
   将corelib.swc拷贝到Flex安装目录的sdks\3.0.0\frameworks\libs下
二、Java中进行数据处理得到json格式的数据,部分代码
Java代码
01./** 
02. * 浏览器直接返回信息 
03. *  
04. * @param content 内容 
05. * @param character 编码 
06. * @throws IOException 
07. */ 
08.protected void out(String content,String character) throws IOException {  
09.    HttpServletResponse response = ServletActionContext.getResponse();  
10.    response.setContentType("text/html;charset="+character);  
11.    PrintWriter out = response.getWriter();  
12.    out.print(content);  
13.    out.flush();  
14.    out.close();  
15.}  
16. 
17.    try{  
18.        Author author = authorService.getAuthorByName(username);  
19.        if( author==null ){  
20.            JSONObject json = new JSONObject();  
21.            json.put("status","0");  
22.            json.put("message","用户名不存在");  
23.            super.out(json.toString());  
24.        }  
25.        if(author.getPassword().equals(MD5.md5(password))){  
26.            session.put(Symbols.SESSION_AUTHOR, author);  
27.            JSONObject json = new JSONObject();  
28.            json.put("status","1");  
29.            json.put("message","登录成功");  
30.            super.out(json.toString());               
31.        }  
32.        else{  
33.            JSONObject json = new JSONObject();  
34.            json.put("status","0");  
35.            json.put("message","密码错误");  
36.            super.out(json.toString());       
37.        }  
39.    }  
40.    catch(ServiceException se){  
41.        JSONObject json = new JSONObject();  
42.        json.put("status","0");  
43.        json.put("message","登录失败");  
44.        super.out(json.toString());   
45.        throw new Exception(se);  
46.    } finally {  
47.    }         
48.    return NONE;  
三、Flex中请求URL得到json的数据,然后在script中解析json数据
XML/HTML代码
01.<?xml version="1.0" encoding="utf-8"?> 
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"   
03.    horizontalAlign="center"   
04.    verticalAlign="middle"   
05.    verticalGap="15" 
06.    horizontalGap="15"> 
08.    <mx:Script> 
09.        <![CDATA[ 
10.            import mx.collections.ArrayCollection; 
11.            import mx.rpc.events.ResultEvent; 
12.            import com.adobe.serialization.json.JSON;  
13.            import mx.controls.Alert; 
14.             
15.            [Bindable] 
16.            private var photoFeed:ArrayCollection; 
17.
18.            private function doLogin():void { 
19.                trace("start send"); 
20.                var params:Object = new Object(); 
21.                params.username = username.text; 
22.                params.password = password.text; 
23.                loginCheck.send(params); 
24.                trace("end send"); 
25.            } 
26.
27.            private function doCancel():void { 
28.                username.text = ""; 
29.                password.text = ""; 
30.            } 
31.
32.            private function loginHandler(event:ResultEvent):void { 
33.                 
34.                var rawData:String = String(event.result); 
35.                 
36.                //decode the data to ActionScript using the JSON API 
37.                //in this case, the JSON data is a serialize Array of Objects. 
38.                var arr:Array = (JSON.decode(rawData) as Array); 
39.                var dataArray:ArrayCollection = new ArrayCollection(arr); 
40.                //arraySize = dataArray.length; 
41.                     
42.                // info.text = event.result.toString(); 
43.                var obj:Object = JSON.decode(rawData); 
44.            
45.                if(obj.status==1){ 
46.                     var request:URLRequest = new URLRequest(); 
47.                     request.method = URLRequestMethod.GET; 
48.                     request.url = "http://test.ntsky.com:8080/admin/posts.action"; 
49.                     // request. 
50.                     var loader:URLLoader = new URLLoader(); 
51.                     navigateToURL(request,"_self"); 
52.                } 
53.                else{ 
54.                    Alert.show(obj.message); 
55.                } 
56.            } 
57.             
58.         ]]> 
59.    </mx:Script>            
61.    <mx:HTTPService id="loginCheck" 
62.        url="http://test.ntsky.com:8080/admin/login.action
63.        resultFormat="text"            
65.        result="loginHandler(event)" /> 
67.    <mx:Panel x="330" y="192" width="290" height="177" layout="absolute" title="用户登录" fontSize="12" horizontalAlign="center" verticalAlign="middle"> 
68.        <mx:Form x="10" y="10" width="253" height="90"> 
69.            <mx:FormItem label="用户名:"> 
70.                <mx:TextInput id="username"/> 
71.            </mx:FormItem> 
72.            <mx:FormItem label="密  码 :"> 
73.                <mx:TextInput id="password" displayAsPassword="true"/> 
74.            </mx:FormItem> 
75.        </mx:Form> 
76.        <mx:Button x="65" y="103" label="登录" click="doLogin()"/> 
77.        <mx:Button x="144" y="103" label="取消" click="doCancel()"/> 
78.    </mx:Panel>       
80.</mx:Application> 

分享到:
评论

相关推荐

    flex httpservice 和 java通信 获取 java端的返回值

    本文将详细介绍如何使用Flex的HTTPService组件与Java服务进行交互,并获取Java端的返回值。首先,让我们了解一下Flex和Java通信的基本原理。 Flex是一款基于ActionScript 3的开源框架,用于创建富互联网应用程序...

    flex与httpService通信(java)

    通过以上介绍,我们可以理解Flex如何使用`HTTPService`组件与Java后台进行通信,包括配置服务、发送请求和处理响应。在实际项目中,还需要考虑安全、性能优化以及错误处理等方面的问题。理解这一通信机制对于构建...

    Flex4.0 如何通过 HttpService和WebService与服务器进行通信

    本篇文章将深入探讨如何利用Flex 4.0中的HttpService和WebService组件与Java Struts2框架构建的服务器进行通信。 首先,我们来看HttpService。HttpService是ActionScript 3.0中的一个类,用于发起HTTP请求,通常...

    FLEX _HTTPService的调用方法

    根据提供的文件信息,我们可以深入探讨FLEX中的_HTTPService组件及其使用方法。此组件主要用于与Web服务进行通信,例如从服务器获取或发送数据。下面将详细解释如何使用_HTTPService组件,并通过示例代码来展示其...

    Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互

    在本压缩包"Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互"中,我们可以深入探讨Flex的基础知识、Web与Flex的集成、LCDS的使用以及Flex如何与Java进行数据交互。 1. **Flex基础**:Flex提供了一整套组件库,包括...

    使用flex中的httpservice方法与java进行交互

    本文主要讲解如何使用Adobe Flex中的`HTTPService`组件与Java后端进行交互。Flex是一个开源的RIA(富互联网应用)开发框架,而`HTTPService`是Flex提供的用于与Web服务进行数据通信的组件,支持SOAP和RESTful协议。 ...

    Flex+SpringMVC HttpService 发送XML数据

    本文将详细介绍如何使用Flex的HttpService组件向SpringMVC应用发送XML数据,并进行交互。 一、Flex中的HttpService组件 1. 创建HttpService:在Flex项目中,通过MXML或ActionScript可以创建HttpService实例。设置...

    Flex与Java低数据量通信息一:HTTPService

    在描述中提到的“Flex端实例源码”,意味着我们可以从给出的博客链接中找到一个具体的Flex应用程序示例,该示例展示了如何使用HTTPService与Java后端进行通信。通过查看源码,开发者可以学习到如何配置和使用...

    Flex与Java交互通讯视频详解

    10. **学习资源**:提供的“Flex与Java通讯-1.exe”和“Flex与Java通讯-2.exe”很可能是教学视频,而“flex连接java.TXT”可能是配套的代码示例或笔记,帮助学习者深入理解并实践Flex与Java的交互技术。 以上是关于...

    flex解析json的swc包(entity-flex-v1-02)及例子

    在Flex中,与JSON交互是常见的任务,例如从服务器接收数据或向服务器发送数据。SWC包“entity-flex-v1-02”可能是专门为了解析和操作JSON对象而设计的,这可能包含了一些优化的函数和类,使得在Flex中处理JSON更加...

    Flex_JSON_XML.zip_flex

    本案例中的"Flex_JSON_XML.zip_flex"是一个压缩包,它包含了一个关于如何使用XML和JSON协议在Java和Flex之间进行数据交换的示例。让我们深入探讨一下这个主题。 Flex是一种基于Adobe Flash Player或Adobe AIR的开源...

    flex-and-java.zip_flex

    Flex可以使用HTTPService或WebService组件来调用Java的Web服务接口,通过XML或JSON进行数据交换。 在压缩包内的"flex调用java方法.docx"文档中,可能详细介绍了这些方法的具体实现步骤和示例代码。通常,它会包含...

    一个最简单的flex与java交互的例子

    标题 "一个最简单的flex与java交互的例子" 涉及的是在Web开发中,使用Adobe Flex(一种基于ActionScript的富互联网应用程序框架)与后台Java技术进行数据交换的技术。Flex通常用于构建用户界面,而Java则负责处理...

    flex实例HTTPService

    压缩包中的"HTTPServiceStu"文件可能包含一个实际的Flex项目,演示了如何配置和使用HTTPService,以及处理返回数据的完整流程。通过研究这个示例,你可以更直观地理解HTTPService的工作原理和使用方法。 总结来说,...

    Flex Demo XML JSON

    综上所述,"Flex Demo XML JSON"是一个关于使用Flex处理XML和JSON数据的示例,可能涉及到与后端的交互,虽然SSH在Flex中不是直接使用的,但可能会在后台服务中扮演角色。理解并熟练运用这些技术,可以帮助开发者创建...

    flex java 项目整合.rar

    Flex作为前端用户界面开发框架,提供了丰富的图形和交互性,而Java则在后端提供了强大的处理能力和稳定的服务支持。本资源"flex java 项目整合.rar"包含了一个名为"flex java整合.pdf"的文件,它很可能详细介绍了...

    Flex与JSON及XML的互操作

    ### Flex与JSON及XML的互操作 Flex作为一种强大的开源框架,允许开发者利用MXML(一...无论是使用XML还是JSON,Flex都提供了一套强大的工具和API来处理这些数据,从而帮助开发者构建出功能丰富且交互性强的应用程序。

    flex与java通信

    当不使用AMF时,Flex可以借助HTTPService或WebService组件与Java进行XML或JSON数据交换。这种方式适用于跨域通信,但相比AMF,数据传输效率较低。 5. Flex客户端实现: 在Flex项目中,使用HTTPService或Web...

    flex httpservice实例

    在提供的代码片段中,我们看到一个简单的Flex应用程序示例,该应用使用了HTTPService组件来与后端服务进行交互。下面是对关键部分的详细分析: #### XML定义部分 ```xml ()"/&gt; &lt;mx:HTTPService id=...

Global site tag (gtag.js) - Google Analytics